Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python字典中为每个键添加多个值_Python_Dictionary_Key - Fatal编程技术网

如何在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]}