Как добавить в элемент двухмерного списка? - PullRequest
1 голос
/ 11 апреля 2019

Я преобразовал словарь в Python в список. Теперь я хочу добавить 1 к каждому элементу этого списка. Когда я печатаю отдельные элементы в цикле, это показывает, что 1 был добавлен, но когда я печатаю список, это не так.

код

apple = {'a':1,'p':2,'l':1,'e':1}

apple_list = apple.items()

for item in apple_list:

    item = list(item)

    item.append(1)

    print(item)

print(apple_list)

OUTPUT

['a', 1, 1]
['p', 2, 1]
['l', 1, 1]
['e', 1, 1]

dict_items([('a', 1), ('p', 2), ('l', 1), ('e', 1)])

1 Ответ

0 голосов
/ 11 апреля 2019

item - это кортеж из последовательности, сгенерированной apple.items(). Присваивая list(item) item, вы назначаете новый список переменной, чтобы он больше не ссылался на кортеж в последовательности.

Вместо этого вы можете преобразовать элементы dict в список списков с пониманием списка, при этом объединяя кортеж пар ключ-значение с одиночным тоном 1:

[list(pair + (1,)) for pair in apple.items()]

Возвращает:

[['a', 1, 1], ['p', 2, 1], ['l', 1, 1], ['e', 1, 1]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...