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')]))