Python-6.1-字典

字典

  • 学习如何访问和修改字典的信息
  • 学习如何遍历字典中的数据
  • 学习存储字典的列表、存储列表的字典和存储字典的字典

一:使用字典

1、在Python中,字典是一系列键-值对
  • 键—值对是两个相关联的值。键和值之间用冒号(:)分隔,而键-值对之间用逗号分隔
2、访问字典中的值
#访问字典中的值
apple = {'color':'red','price':5}
print(apple['color'])
print(str(apple['price']) + " RMB")

red
5 RMB

3、添加键-值对
  • 字典是一种动态结构,可随时在其中添加键-值对。
    • 添加键-值对,可依次指定字典名、用方括号括起来的键和相关联的值
#添加键—值对
apple = {'color':'red','price':5}
print("Original: " + str(apple))
apple['size'] = 'big'
print("Now: " + str(apple))

Original: {‘color’: ‘red’, ‘price’: 5}
Now: {‘color’: ‘red’, ‘price’: 5, ‘size’: ‘big’}

4、先创建一个空字典
  • 使用字典来存储用户提供的数据或在编写能自动生成大量键-值对的带吗时,通常都需要定义一个
#创建一个空字典,存储键-值对
apple = {}
apple['color'] = 'red'
apple['price'] = 5
print(apple)

{‘color’: ‘red’, ‘price’: 5}

5、修改字典中的值
  • 要修改字典中的值,可依次指定字典名、用方括号括起来的键以及键相关联的新值
#修改字典中的值
apple = {'color':'red','price':5}
print("Original: " + str(apple))
#修改apple的颜色为green
apple['color'] = 'green'
print("Now: " + str(apple))

修改前: {‘color’: ‘red’, ‘price’: 5}
修改后: {‘color’: ‘green’, ‘price’: 5}

6、删除键-值对
  • 可使用del语句将相应的键-值对彻底删除。使用del语句时,必须指定字典名和要删除的键。
#删除键-值对
apple = {'color':'red','price':5}
print("Original: " + str(apple))
#删除字典中d额color的键—值对
del apple['color']
print("Now: " + str(apple))

Original: {‘color’: ‘red’, ‘price’: 5}
Now: {‘price’: 5}

7、由类似对象组成的字典
#将字典中的键-值对分成多行
fruit_color = {
    'apple':'red',
    'banana':'yellow',
    'pear':'green',
    }
#将较长的print语句分成多行
print("The apple color is " + 
     fruit_color['apple'])

The apple color is red

二:遍历字典

1、遍历所有键—值对,可使用方法items()
#遍历所有键-值对
fruit_color = {
    'apple':'red',
    'pear':'green',
    'banana':'yellow',
}
#声明两个变量,用于存储键-值对中的键和值
for key,value in fruit_color.items():
    print('key: ' + key)
    print('value: ' + value + '\n')

key: apple
value: red

key: pear
value: green

key: banana
value: yellow

2、遍历字典中的所有的键
  • 不需要使用字典中的值时,可使用方法keys()遍历字典中的所有键
    • 遍历字典时,会默认遍历所有的键。因此办理字典中的所有键时,可以忽略key()
#遍历字典中的所有键
fruit_color = {
    'pear':'green',
    'banana':'yellow',
    'apple':'red',
}
#声明一个变量,用于存储字典中键
for key in fruit_color.keys():
    print('key: ' + key + '\n')

key: pear

key: banana

key: apple

3、按顺序遍历字典中的的所有键
  • 获取字典中的元素时,获取顺序是不可预测的
    • 可使用函数sorted()来获得特定顺序排列的键副本
#按顺序遍历字典中的所有键
fruit_color = {
    'pear':'green',
    'banana':'yellow',
    'apple':'red',
}
#调用函数sorted(),在遍历前对这个列表进行排序
for key in sorted(fruit_color.keys()):
    print(key.title())

Apple
Banana
Pear

4、遍历字典中的所有值
  • 可使用方法values(),它返回一个值列表,而不包含任何键
  • 为剔除重复项,可使用集合(set)
  • 集合类似于列表,但每个元素都必须是独一无二的
#遍历字典中的所有值
fruit_color = {
    'pear' : 'green',
    'banana' : 'yellow',
    'apple' : 'red',
    'orange' : 'yellow',
    'watermelon' : 'green'
}
for value in fruit_color.values():
    print(value)

print('\n')0

#剔除重复项
fruit_color = {
    'pear' : 'green',
    'banana' : 'yellow',
    'apple' : 'red',
    'orange' : 'yellow',
    'watermelon' : 'green'
}
for value in set(fruit_color.values()):
    print(value)

green
yellow
red
yellow
green

green
red
yellow

三:嵌套

  • 需要将一系列字典存储在列表中,或将列表作为值存储在字典中,称为"嵌套"
    • 可以在列表中嵌套字典、、在字典中嵌套列表甚至在字典中嵌套字典
1、在列表中存储字典
  • 将字典存储在列表中,字典与字典之间用逗号相隔开
#在列表中存储字典
apple = {
    'color':'red',
    'size':'big',
    'price':5
}
banana = {
    'color':'yellow',
    'size':'medium',
    'price':3
}
pear = {
    'color':'green',
    'size':'small',
    'price':6
}
#将字典存储在列表中
fruits = [ apple , banana , pear ]
name_fruit = ['apple','banana','pear']
#遍历列表
for fruit in fruits:
    #将每种水果信息都打印出来
    print(fruit)

{‘color’: ‘red’, ‘size’: ‘big’, ‘price’: 5}
{‘color’: ‘yellow’, ‘size’: ‘medium’, ‘price’: 3}
{‘color’: ‘green’, ‘size’: ‘small’, ‘price’: 6}

2、在字典中存储列表
  • 需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表
#字典中存储列表
apple = {
    'color':['red','green'],
    'size':'big'
}
#遍历字典中键color中的所有值
for color in apple['color']:
    #打印出键color的值
    print("The apple color is " + color + 
          " and size is " + apple['size'] +'.')
print('-----------------------------------------')
print("The apple have two color : ")
#遍历字典中键color中的所有值
for color in apple['color']:
    #打印出键color的值
    print('\t' + color)

The apple color is red and size is big.
The apple color is green and size is big.
——————————————————
The apple have two color :
red
green

3、在字典中存储字典
  • 有多个种类的水果,每种水果都有独特的名字,可在字典中将水果名作为键,然后将每种水果的信息存储在一个字典中,并将该字典作为与水果名相关联的值
#在字典中存储字典
fruits = {
    'apple' : {
        'color' : 'red',
        'size' : 'big'
    },
    'pear' : {
        'color' : 'green',
        'size' : 'small'
    },
    'banana' : {
        'color' : 'yellow',
        'size' : 'medium'
    }
}
#遍历fruits所有的键-值对
for fruit_name , fruit_value in fruits.items():
    #打印出每种水果的名字
    print('\n' "Fruit name : " + fruit_name.title() )
    #打印出每种水果的颜色
    print('\t' + 'Color : ' + fruit_value['color'].title())
    #打印出每种水果的大小
    print('\t' + 'Size : ' + fruit_value['size'].title())

Fruit name : Apple
Color : Red
Size : Big

Fruit name : Pear
Color : Green
Size : Small

Fruit name : Banana
Color : Yellow
Size : Medium

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值