объединить пары ключ-значение из словаря python - PullRequest
0 голосов
/ 16 марта 2020

У меня есть словарь в python. Ключи и значения являются строками. На самом деле ключи - это своего рода флаг (например, -f), а значения - это опции (например, int, например, 20). Я хочу создать строку со всеми ключами и значениями. Словарь может выглядеть примерно так: {'-f': 20, '-d': 30}, и мне хотелось бы что-то вроде этого: "-f 20 -d 30" Я думаю, что это должно быть простой задачей, но я не мог найти решение до сих пор ...

Ответы [ 3 ]

2 голосов
/ 16 марта 2020

Вот один подход, использующий понимание списка:

d = {'-f': 20, '-d': 30}
' '.join([i for k,v in d.items() for i in [k, str(v)]])
# '-f 20 -d 30'

Что эквивалентно:

out = []
for k,v in d.items():
    for i in [k, str(v)]:
        out.append(i)

' '.join(out)
# '-f 20 -d 30'
1 голос
/ 16 марта 2020

вы можете использовать str.join с генератором выражений :

d = {'-f': 20, '-d': 30}

' '.join(str(e) for t in d.items() for e in t)
# '-f 20 -d 30'
1 голос
/ 16 марта 2020

Попытка:

s = ''
for k, v in dct.items(): 
    s += k + ' ' + str(v) + ' '
    # remove the last character, an unnecessary space
    s = s[:-1] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...