如何在python字典中为每个键添加多个值

2024-05-28 21:14:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我的程序需要输出一个名称列表,每个名称对应三个数字,但我不知道如何编写代码这是不是有一种方法,我可以做为一个字典,如cat1 = {"james":6, "bob":3},但每一个键有三个值?


Tags: 方法代码程序名称列表字典数字bob
3条回答

每个键的键名和值:

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

每个键的值可以是一个集合(无序元素的不同列表)

cat1 = {"james":{1,2,3}, "bob":{3,4,5}}
for x in cat1['james']:
    print x

或列表(元素的顺序)

cat1 = {"james":[1,2,3], "bob":[3,4,5]}
for x in cat1['james']:
    print x

两个答案都很好。@安克尔用了一本清单字典。@Jaco de Groot使用了一个集合字典(这意味着不能有重复的元素)。

如果您使用的是一个列表字典(或其他东西),那么有时会有用的东西是default dictionary

使用此选项,即使尚未实例化,也可以附加到字典中的项:

>>> 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]})
>>> 

相关问题 更多 >

    热门问题