Python在dict列表的前面加上前缀
我有以下清单:Python在dict列表的前面加上前缀,python,Python,我有以下清单: [('1','1')] 我想在列表的前面加一个dict对象,如下所示: [('All','All'),('1','1')] 我正在努力: myList[:0]=dict({'All':'All'}) 但这给了我: ['All',('1','1')] 我做错了什么?当您将dict作为一个iterable使用时,您只需迭代它的键。如果您想迭代其键/值对,则必须使用dict.items视图 l = [('1', '1')] d = dict({'All': 'All'}) print(
[('1','1')]
我想在列表的前面加一个dict对象,如下所示:
[('All','All'),('1','1')]
我正在努力:
myList[:0]=dict({'All':'All'})
但这给了我:
['All',('1','1')]
我做错了什么?当您将
dict
作为一个iterable使用时,您只需迭代它的键。如果您想迭代其键/值对,则必须使用dict.items
视图
l = [('1', '1')]
d = dict({'All': 'All'})
print([*d.items(), *l])
# [('All', 'All'), ('1', '1')]
*
语法为
也可以使用字典的items()
获取键、值,并将它们预先添加到列表中:
lst = [('1', '1')]
lst = list({'All': 'All'}.items()) + lst
print(lst)
# [('All', 'All'), ('1', '1')]
注意:
{'All':'All'}
本身就是一本字典,因此代码中的dict({'All':'All'})
是不必要的。您也可以查看下面的内容
>>> myList = [('1', '1')]
>>>
>>> myList[:0] = dict({'All': 'All'}).items()
>>> myList
[('All', 'All'), ('1', '1')]
>>>
对于像[('All','All'),('1','1')]
这样的答案,请执行以下操作:
myList = [('1', '1')]
myList = [('All', 'All')] + myList
有关更多信息,请参考。您可以参考下面的函数,将任何dict as列表项附加到已存在的列表中。您只需发送一份新的dict,并将其与现有的旧列表一起附加
def append_dict_to_list(new_dict,old_list):
list_to_append = list(new_dict.items())
new_list = list_to_append + old_list
return new_list
print (append_dict_to_list({'All':'All'},[('1', '1')]))
附言:如果你想在现有列表之后追加新的dict,只需将代码中的顺序更改为new_list=old_list+list_to_append你的预期输出不包括字典。。。。您想在列表中插入dict的
(键、值)
元组吗?dict({'All':'All'})
无论如何都是多余的。myList[:0]=dict({'All':'All'})。items()将完成此任务。
def append_dict_to_list(new_dict,old_list):
list_to_append = list(new_dict.items())
new_list = list_to_append + old_list
return new_list
print (append_dict_to_list({'All':'All'},[('1', '1')]))