Python 理解词典与词典构造
我刚刚开始学习python,并试图理解字典的不同结构,同时阅读字典。我知道它有键和值格式,但我几乎没有疑问理解 我有两本字典,分别是Python 理解词典与词典构造,python,dictionary,Python,Dictionary,我刚刚开始学习python,并试图理解字典的不同结构,同时阅读字典。我知道它有键和值格式,但我几乎没有疑问理解 我有两本字典,分别是d1和d2 >>> d1 {'A': 'one', 'B': 'two', 'C': 'three'} >>> type(d1) <class 'dict'> 虽然上面的示例我看到dictionary键是可以的,但是值是列表格式的,在查看类型时,它还显示class dict >>> d2 {'A':
d1
和d2
>>> d1
{'A': 'one', 'B': 'two', 'C': 'three'}
>>> type(d1)
<class 'dict'>
虽然上面的示例我看到dictionary键是可以的,但是值是列表格式的,在查看类型时,它还显示class dict
>>> d2
{'A': ['B', 'C']}
>>> type(d2)
<class 'dict'>
那么,我如何将d2
处理为正确的字典格式键和值
。说我想处理d2
,所以看起来像是d1
,那怎么可能实现呢
如果有什么我说不清楚的话,请道歉。在Python 3中,您可以在
d2
字典上使用,如下所示:
>>> for key, value in d2.items():
... print(f"{key} : {value}")
尝试使用python库将数字转换为单词,并展平字典以获得所需的输出。python字典中有一组无序的键:值对 键在字典中是唯一的,而值可能不是唯一的。字典的值可以是任何类型的,但键必须是不可变的数据类型,如字符串、数字或元组 因此,您可以在值中存储任何类型的对象 在第一个示例中,您将字符串存储在值中。 在第二个示例中,您将列表存储在值中 您可以使用下面的代码访问键值对
d1 = {'A': 'one', 'B': 'two', 'C': 'three'}
d2 = {'A' : ['B', 'C'], 'D':['E','F']}
for k,v in d1.items():
print("key = {} value = {}".format(k,v))
for k,v in d2.items():
print("key = {} value = {}".format(k,v))
输出:
key = A value = one
key = B value = two
key = C value = three
key = A value = ['B', 'C']
key = D value = ['E', 'F']
它们都是“合适的”词典。dictionary变量的类型不会告诉您值的类型。如果您想查看值的类型,只需执行
type(下一步(iter(d2.values()))
(或者只需使用您知道的键对字典进行索引)。您希望得到什么作为输出?我一点也不明白你要做什么。@AlexanderReynolds,我试图证明它不起作用,并说TypeError:“dict_values”对象不是迭代器
是的,我编辑了注释,因为我意识到我遗漏了部分内容。@AlexanderReynolds,thnx为了编辑,我编辑了我的问题,只是为了让它更清晰。萨克,thnx对于你的答案,我可以得到d2作为{'A':'B','A':'C'}
否,正如我提到的,键在字典中应该是唯一的,所以你不能有两个值与同一个键相关联。但是它可以像{Val:key for key,value in d2.items()for Val in value}
那样反向转换