python3学习笔记7--字典

  • 一个简单的字典
alien_0 = {'color':'green','points':5}

print(alien_0['color'])
print(alien_0['points'])
  • 使用字典

在Python中,字典是一系列键---值对。每个键都有与之相关联的值。在Python中,字典用{}中的一系列键---值对表示。

键---值对 是两个相关联的值。指定键时,Python返回与之相关联的值。键和值之间用冒号分隔,而键值对之间用逗号隔开。

1、访问字典中的值

获取与键相关的值,可依次指定字典名个放在方括号内的键。

2、添加键---值对

字典是动态结构,可随时在其中添加键---值对。要添加键---值对,可依次指定字典名、用方括号括起的键和相关联的值。

3、创建空字典

alien_0['color'] = 'green'

alien_0['points'] = 5

print(alien_0)

4、修改字典中的值

要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。

alien_0 = {'color':'green'}
print("The alien is "+alien_0['color']+".")

alien_0 = {'color':'red'}
print("The alien is now " + alien_0['color']+".")

5、删除键---值对

可使用del  语句将对应的键---值对彻底删除

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

del alien_0['points']
print(alien_0)

6、有类似对象组成的字典

favorite_languages = {
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'perl',
}
print("Sarah's favorite language is "+favorite_languages['sarah'].title()
      +".")
  • 遍历字典

1、遍历所有的键---值对

user_0 = {
    'username':'efermi',
    'frist':'enrico',
    'last':'fermi',
}
for key ,value in user_0.items():
    print("\n Key:"+ key)
    print("\n Value:"+ value)

2、遍历字典中的所有键

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

3、按顺序遍历字典中的所有键

字典总是明确地记录键和值之间的关联联系。但获取字典的元素时,获取顺序是不可预测的。要以特定的顺序返回元素,一种是在for 循环中对返回的键进行排序,可以使用函数sorted() 来获得特定的顺序排序的键列表的副本;

favorite_languages = { 
    'jen': 'python', 
    'sarah': 'c', 
    'edward': 'ruby',
    'phil': 'python', 
} 
for name in sorted(favorite_languages.keys()): 
    print(name.title() + ", thank you for taking the poll.")

4、遍历字典中的所有值

显示字典中包含的值,可使用方法 values() ,它返回一个值列表。

favorite_languages = {
    'jen': 'python',
    'sarah': 'c', 
    'edward': 'ruby',
    'phil': 'python',
}
print("The following languages have been mentioned:")
for language in favorite_languages.values():
    print(language.title())

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

favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}
print("The following languages have been mentioned:")
for language in set(favorite_languages.values()):
    print(language.title())
  • 嵌套

将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套 。你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

1、字典列表

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)
# 创建一个用于存储外星人的空列表
aliens = []
# 创建30个绿色的外星人
for alien_number in range(30):
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
    aliens.append(new_alien)
# 显示前五个外星人
for alien in aliens[:3]:
    if alien['color'] == 'green':
        alien['color'] = 'yellow'
        alien['points'] = 10
for alien in aliens[0:5]:
    print(alien)
print("...")
# 显示创建了多少个外星人
print("Total number of aliens: " + str(len(aliens)))

2、在字典中存储列表

# 存储所点比萨的信息
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)

3、在字典中存储字典

users = {
    'aeinstein': {
        'first': 'albert',
        'last': 'einstein',
        'location': 'princeton',
    },
    'mcurie': {
        'first': 'marie',
        'last': 'curie',
        'location': 'paris',
    },
}
for username ,user_info in users.items():
    print("\n Username: " + username)
    full_name = user_info['first'] + " " + user_info['last']
    location = user_info['location']
    print("\t Full name: " + full_name)
    print("\t Location: " + location.title())

 

你可能感兴趣的:(Python,Python)