我有一个带有键和一对值的字典,这些值存储在List中。但我保持列表为空,所以我可以。看它的值,我似乎无法做到这一点
>>>myDict = {'Numbers':[]}
>>>myDict['Numbers'[1].append(user_inputs)
似乎不起作用,返回错误。我如何引用myDict中的列表,以便我可以附加其值。
还有可能在列表中有一个字典,还有另一个列表吗?如果是这样?它的语法是什么,或者你能推荐我能做到的其他方式
>>>myDict2 = {'Names': [{'first name':[],'Second name':[]}]}
我将第二个嵌套列表更改为元组吗?请让它保持在PYTHON 2.7
答案 0 :(得分:1)
您收到错误,因为您的语法错误。以下内容附加到'Numbers'
键的列表值:
myDict['Numbers'].append(user_inputs)
您可以任意嵌套Python对象;您的myDict2
语法完全正确。只有键需要是不可变的(所以元组与列表相比),但你的键都是字符串:
>>> myDict2 = {'Names': [{'first name':[],'Second name':[]}]}
>>> myDict2['Names']
[{'first name': [], 'Second name': []}]
>>> myDict2['Names'][0]
{'first name': [], 'Second name': []}
>>> myDict2['Names'][0]['first name']
[]
答案 1 :(得分:0)
您应该使用myDict['Numbers']
访问列表:
>>>myDict['Numbers'].append(user_inputs)
您可以在列表中包含dicts。
唯一的问题是字典键必须是不可变的,因此您不能将字典或列表作为键。
答案 2 :(得分:0)
您可能需要查看json库,该库支持嵌套字典和列表的混合。
此外,您可能还对dictionary类的setdefault方法感兴趣。
格式如下:
new_dict = dict()
some_list = ['1', '2', '3', ...]
for idx, val in enumerate(some_list):
something = get_something(idx)
new_dict.setdefault(val, []).append(something)