我将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)
输出
['a', 1, 1]
['p', 2, 1]
['l', 1, 1]
['e', 1, 1]
dict_items([('a', 1), ('p', 2), ('l', 1), ('e', 1)])
发布于 2019-04-12 02:26:21
item
是由apple.items()
生成的序列的元组。通过将list(item)
赋值给item
,可以将一个新列表赋值给变量,这样它就不再引用序列中的元组。
相反,您可以将字典项转换为具有列表理解的列表,同时将键-值对的元组与1
的单例连接在一起
[list(pair + (1,)) for pair in apple.items()]
这将返回:
[['a', 1, 1], ['p', 2, 1], ['l', 1, 1], ['e', 1, 1]]
https://stackoverflow.com/questions/55638732
复制相似问题