Python字典-列表嵌套
我有一个带有一个键和一对值的字典,这些值存储在一个列表中。但是我保持列表为空,这样我就可以添加它的值,我似乎不能这样做Python字典-列表嵌套,python,list,dictionary,Python,List,Dictionary,我有一个带有一个键和一对值的字典,这些值存储在一个列表中。但是我保持列表为空,这样我就可以添加它的值,我似乎不能这样做 >>>myDict = {'Numbers':[]} >>>myDict['Numbers'[1].append(user_inputs) 似乎不起作用,返回一个错误。如何引用myDict中的列表,以便附加其值 还有可能在一个列表中有一本词典,也可能在列表中有另一个列表吗?若有??它的语法是什么?或者你能推荐我做这件事的其他方法吗 >
>>>myDict = {'Numbers':[]}
>>>myDict['Numbers'[1].append(user_inputs)
似乎不起作用,返回一个错误。如何引用myDict中的列表,以便附加其值
还有可能在一个列表中有一本词典,也可能在列表中有另一个列表吗?若有??它的语法是什么?或者你能推荐我做这件事的其他方法吗
>>>myDict2 = {'Names': [{'first name':[],'Second name':[]}]}
我是否将第二个嵌套列表更改为元组??请将其保留在Python2.7中,因为语法错误,所以会出现错误。以下内容附加到
'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']
[]
您应该使用myDict['Numbers']
访问列表:
>>>myDict['Numbers'].append(user_inputs)
你可以在一个列表中包含dicts
唯一的问题是字典键必须是不可变的,因此不能将dict或list作为键。您可能需要查看支持嵌套字典和列表混合的库
此外,您可能还对该类的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)
我想你正在学习python。如果你学习Python3是最好的,它有无数的改进,你会遇到更少的问题。是的,但我建议我使用2.7,因为它是“唯一稳定的版本”,正如我5年前听说的那样。现在python 3是首选版本。既然你说了5年,我想我必须改变。谢谢你的回答,这很有帮助。但是我只是想知道是否有一种方法可以将原始输入循环多次。我不想像我的字典所要求的那样将每个原始输入定义50次。我曾考虑使用for循环,但我对python完全陌生,它与python有点不同java@DamilolaLucasAromiwe:您可以为范围(50)内的计数器使用进行循环:
例如;一般来说,Python语言比Java语言更简单。你从第三行开始就不再说英语了。idx是一个占位符,像某种列表或python语句吗?idx是索引的缩写。python中的函数允许您迭代某些内容(例如,某些_列表),并返回“count”/index和实际值。