Skip to main content
 首页 » 编程设计

python之初学者 Python 问题

2025年05月04日14yjmyzz

刚开始使用 python,试图将字典嵌套在其他数据结构、列表、集合等中。当我嵌套字典时(例如,如果我创建字典列表),我似乎无法引用键或个人命令中的值不再存在。这是一个设计特点还是我完全把它搞砸了?

请您参考如下方法:

你完全可以用 Python 做到这一点。您可以多次使用 [] 运算符——如果 a 是一个列表,那么 a[0] 就是它的第一个元素。如果第一个元素恰好是一个字典,那么您可以使用 a[0].keys() 查看它的键,并且您可以像这样从中获取值:a[ 0][“这是一把 key ”]

就像你会像这样遍历字典的键一样:

for key in my_dict: 
    # get the value 
    val = my_dict[key] 
    # do something with it 

你可以使用一个列表元素,如果它恰好是一个字典:

for key in a[0]: 
    # get the value 
    val = a[0][key] 
    # do something with it 

您可以很容易地创建列表列表、字典列表,甚至是值是列表(或更多字典)的字典。要引用它们,您可以迭代它们的值,或根据需要链接 [] 操作。

唯一不能做的就是使用列表或字典作为另一个字典的键。 规则之一是字典键必须不可变。数字可以,字符串可以,元组可以,但列表和字典不行。

这是一个交互式代码示例,向您展示如何构建字典列表,并再次提取它们的值:

# Here's a dictionary 
a = { 'key1': 'value1', 'key2': 2 } 
 
# Check it out 
>>> type(a) 
<type 'dict'> 
 
# Print it: 
>>> a 
{'key1': 'value1', 'key2': 2} 
 
# Look inside 
>>> a['key1'] 
'value1' 
 
# Here's another one 
b = { 'abc': 123, 'def': 456 } 
 
# Now let's make a list of them 
c = [a, b] 
 
# Check that out, too 
>>> type(c) 
<type 'list'> 
 
# Print it: 
>>> c 
[{'key1': 'value1', 'key2': 2}, {'def': 456, 'abc': 123}] 
 
>>> c[0] 
{'key1': 'value1', 'key2': 2} 
 
# Dig deeper 
>>> c[0]['key1'] 
'value1'