如何在python字典中为每个键添加多个值
我的程序需要输出一个名称列表,每个名称对应三个数字,但是我不知道如何编码。有没有一种方法可以作为字典,例如如何在python字典中为每个键添加多个值,python,dictionary,key,Python,Dictionary,Key,我的程序需要输出一个名称列表,每个名称对应三个数字,但是我不知道如何编码。有没有一种方法可以作为字典,例如cat1={“james”:6,“bob”:3},但是每个键有三个值?每个键的值可以是一个集合(无序元素的不同列表) 或列表(元素的有序序列) 两个答案都很好@santosh.ankr使用了列表词典@Jaco de Groot使用了集合字典(这意味着不能有重复的元素) 如果你使用的是列表字典(或其他东西),有时会很有用的东西是一个 使用此功能,您可以将项目附加到词典中的项目,即使这些项目尚未
cat1={“james”:6,“bob”:3}
,但是每个键有三个值?每个键的值可以是一个集合(无序元素的不同列表)
或列表(元素的有序序列)
两个答案都很好@santosh.ankr使用了列表词典@Jaco de Groot使用了集合字典(这意味着不能有重复的元素) 如果你使用的是列表字典(或其他东西),有时会很有用的东西是一个 使用此功能,您可以将项目附加到词典中的项目,即使这些项目尚未实例化:
>>> from collections import defaultdict
>>> cat1 = defaultdict(list)
>>> cat1['james'].append(3) #would not normally work
>>> cat1['james'].append(2)
>>> cat1['bob'].append(3) #would not normally work
>>> cat1['bob'].append(4)
>>> cat1['bob'].append(5)
>>> cat1['james'].append(5)
>>> cat1
defaultdict(<type 'list'>, {'james': [3, 2, 5], 'bob': [3, 4, 5]})
>>>
>>从集合导入defaultdict
>>>cat1=默认DICT(列表)
>>>cat1['james'].append(3)#通常不起作用
>>>cat1['james'].追加(2)
>>>cat1['bob'].append(3)#通常不起作用
>>>cat1['bob'].追加(4)
>>>cat1['bob'].追加(5)
>>>cat1['james'].追加(5)
>>>第一类
defaultdict(,{'james':[3,2,5],'bob':[3,4,5]})
>>>
每个键的键名和值:
student = {'name' : {"Ahmed " , "Ali " , "Moahmed "} , 'age' : {10 , 20 , 50} }
for keysName in student:
print(keysName)
if keysName == 'name' :
for value in student[str(keysName)]:
print("Hi , " + str(value))
else:
for value in student[str(keysName)]:
print("the age : " + str(value))
以及输出:
name
Hi , Ahmed
Hi , Ali
Hi , Moahmed
age
the age : 50
the age : 10
the age : 20
在同一字典键中添加多个值:
subject = 'Computer'
numbers = [67.0,22.0]
book_dict = {}
book_dict.setdefault(subject, [])
for number in numbers
book_dict[subject].append(number)
结果:
{'Computer': [67.0, 22.0]}
您可以将每个键的值设置为一个列表:{“james”:[1,2,3],“bob”:[0,7]}相关:cat1中键的值是
set
s。需要指出的是,我几乎总是使用set()调用显式声明集合,以避免与字典混淆。在你知道冒号是什么之前,你真的不应该检查冒号。你也可以使用一个包含元组和键的字典:cat1={“james”:(1,2,3),“bob”:(3,4,5)}
subject = 'Computer'
numbers = [67.0,22.0]
book_dict = {}
book_dict.setdefault(subject, [])
for number in numbers
book_dict[subject].append(number)
{'Computer': [67.0, 22.0]}