Добавление словаря в список кортежей - PullRequest
0 голосов
/ 24 апреля 2019

Скажем, я получил следующий дикт:

d = {'x': 1, 'y': 2, 'z': 3}

Я хочу создать функцию, которая добавляет каждый ключ и его значение в список кортежей, поэтому я кодировал:

def dict_to_list_of_tuples(dic):
    list_of_tuples = []
    for key in dic:
        list_of_tuples.append((key, dic[key]))
    return list_of_tuples

но я получаю следующий вывод:

[('x', 1), ('y', 2), ('z', 3)]

пока я хочу получить:

[(x, 1), (y, 2), (z, 3)]

Ответы [ 2 ]

2 голосов
/ 24 апреля 2019

Ваша функция просто list(d.items()):

>>> list(d.items())
[('x', 1), ('y', 2), ('z', 3)]

Для печати в нужном формате, просто создайте желаемое представление с str.format:

>>> "[{}]".format(f", ".join(f"({k}, {v})" for k,v in d.items()) )
'[(x, 1), (y, 2), (z, 3)]'
1 голос
/ 24 апреля 2019
d = {'x': 1, 'y': 2, 'z': 3}

def dict_to_list_of_tuples(dic):
    list_of_tuples = []
    for key in dic:
        list_of_tuples.append((key, dic[key]))
    return list_of_tuples
print(dict_to_list_of_tuples(d))
print("[{}]".format(f", ".join(f"({k}, {v})" for k,v in dict_to_list_of_tuples(d)) ))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...