Python 字典

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/we1583004we/article/details/79973679

1.使用字典

Python中,字典是一系列键-值对,每个键都与一个值相关联,你可以使用键来访问与之相关联的值。如下示例:

alien_0 = {'color':'green','point':5}
print (alien_0['color'])

键-值对是两个相关联的值,键和值之间用冒号分隔,键-值对之间用逗号分隔。

要添加键值对,可依次指定字典名、用方括号括起的键和相关联的值,例:

alien_0 = {'color':'green','point':5}
print (alien_0['color'])

alien_0['x_position'] = 0
alien_0['y_position'] = 0
print (alien_0)

注意:键-值对的排列顺序与添加顺序不同,Python不关心键-值对的添加顺序,而只关心键和值之间的关联关系。

对于字典中不再需要的信息,可使用del语句将相应的键-值对彻底删除。

del alien_0['point']

2.遍历字典

使用for循环遍历字典,for语句的第二部分包含字典名和方法items(),它返回一个键-值对列表:

user_0 = {
    'username':'efermi',
    'first':'enrico',
    'last':'fermi',
}

for key,value in user_0.items():
    print("\nKey: " + key)
    print("\nValue: " + value)

遍历字典中的所有键,使用方法keys()提取字典中的所有键:

favorite_languages = {
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}

for name in favorite_languages.keys():
    print (name.title())

按顺序遍历字典中的所有键,可使用函数sorted()来获得按特定顺序排列的键列表的副本:

for name in sorted(favorite_languages.keys()):
    print (name.title() + ",thank you for taking the poll.")

遍历字典中的所有值,使用方法values(),它返回一个值列表,而不包含任何键:

for language in favorite_languages.values():
    print (language.title())

为了在遍历的时候剔除重复项,可使用集合set(),集合类似于列表,但是每个元素必须是独一无二的:

for language in set(favorite_languages.values()):
    print (language.title())

3.嵌套

字典列表,在列表中存储字典:

alien_0 = {'color':'green','point':5}
alien_1 = {'color':'yellow','point':10}
alien_2 = {'color':'red','point':15}

aliens = [alien_0,alien_1,alien_2]

for alien in aliens:
    print (alien)

在字典中存储列表,每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表:

pizza = {
    'crust':'thick',
    'toppings':['mushrooms','extra cheese'],
}

print ("You ordered a" + pizza['crust'] + "-crust pizza" +
       "with the following toppings:")

for topping in pizza['toppings']:
    print ("\t" +topping)

在字典中存储字典:

users = {
    'aeinstein':{
        'first':'albert',
        'last':'einstein',
        'location':'princeton',
    },

    'mcurie':{
        'first':'marie',
        'last':'curie',
        'location':'psris',
    }
}

for username,user_info in users.items():
    print("\nUsername: " + username)
    full_name = user_info['first'] + " " + user_info['last']
    location = user_info['location']

    print("Full name: " + full_name.title())
    print("Location: " + location.title())
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页