美文网首页
Chapter 06:字典

Chapter 06:字典

作者: 蜜糖_7474 | 来源:发表于2018-12-14 20:13 被阅读0次

字典,类比C++中的map

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

green
5

对字典中不存在的key进行赋值相当于添加

alien_0['x_pos'] = 0
alien_0['y_pos'] = 25
print(alien_0)

{'color': 'green', 'points': 5, 'x_pos': 0, 'y_pos': 25}

{}默认创建一个空字典

alien_1 = {}
alien_1 = alien_0.copy()
print(alien_1)

{'color': 'green', 'points': 5, 'x_pos': 0, 'y_pos': 25}

del 可实现字典内容的删除

del alien_1['color']
print(alien_1)

{'points': 5, 'x_pos': 0, 'y_pos': 25}

使用items()方法对字典进行遍历

user_0 = {
    'username': 'efermi',
    'first': 'enrico',
    'last': 'fermi',
}
for key, value in user_0.items():
    print(key + ':' + value)

username:efermi
first:enrico
last:fermi

使用keys()方法对字典的键进行遍历,也可以直接使用字典名称

for key in user_0.keys():
    print(key.title())
print('\n')
for key in user_0:
    print(key.title())

Username
First
Last

Username
First
Last

字典可以根据key排序

favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in sorted(favorite_languages.keys()):
    print(name.title())

Edward
Jen
Phil
Sarah

使用values()方法对字典的值进行遍历,返回的类型是字典值列表

for language in favorite_languages.values():
    print(language.title())
print(type(favorite_languages.values()))
print(type(user_0.keys()))

Python
C
Ruby
Python
<class 'dict_values'>
<class 'dict_keys'>

用set()函数对值列表进行去重

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

Python
Ruby
C

字典列表

alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'yellow', 'points': 10}
alien_2 = {'color': 'red', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
    print(alien)

{'color': 'green', 'points': 5}
{'color': 'yellow', 'points': 10}
{'color': 'red', 'points': 15}

字典的值可以是列表

favorite_languages = {
    'jen': ['python', 'ruby'],
    'sarah': ['c'],
    'edward': ['ruby', 'go'],
    'phil': ['python', 'haskell'],
}
for name, languages in favorite_languages.items():
    print("\n" + name.title() + "'s favorite languages are:")
    for language in languages:
        print("\t" + language.title())

Jen's favorite languages are:
    Python
    Ruby

Sarah's favorite languages are:
    C

Edward's favorite languages are:
    Ruby
    Go

Phil's favorite languages are:
    Python
    Haskell

字典的值也可以是字典

users = {
    'aeinstein': {
        'first': 'albert',
        'last': 'einstein',
        'location': 'princeton',
    },
    'mcurie': {
        'first': 'marie',
        'last': 'curie',
        'location': 'paris',
    },
}
for user_name, user_info in users.items():
    print('\nUsername: '+ user_name)
    full_name = user_info['first'] + ' ' + user_info['last']
    location = user_info['location']
    print("\tFull name: "+ full_name.title())
    print("\tLocation: " + location.title())

Username: aeinstein
    Full name: Albert Einstein
    Location: Princeton

Username: mcurie
    Full name: Marie Curie
    Location: Paris

相关文章

网友评论

      本文标题:Chapter 06:字典

      本文链接:https://www.haomeiwen.com/subject/paqnhqtx.html