《Python编程:从入门到实践(第二版)》自学笔记(八)

遍历字典

首先回忆复习一下,遍历列表,使用for循环

1
2
3
4
5
6
7
magicians = ['alice', 'david', 'carolina'] 
for magician in magicians:
print(magician)
输出:
alice
david
carolina

对于字典如需进行遍历,同样的也可以使用for循环,但需要注意的是:由于字典存储信息的方式是以键值对记录的,所以在访问后返回时一般情况下,是一个键值对的列表,进而引入一个新的方法.items( )

1
2
3
4
5
6
7
8
9
10
11
12
13
user_0 = { 'username': 'efermi', 'first': 'enrico', 'last': 'fermi', }
for key, value in user_0.items():
print(f"\nKey: {key}")
print(f"Value: {value}")
输出:
Key: username
Value: efermi

Key: first
Value: enrico

Key: last
Value: fermi

仔细观察发现:在最后一个键值对后面也加上逗号,起目的是为以后在下一行添加键值对做好准备

与列表不一样的是:在字典中可以单独访问字典中所有的键,引入方法.key( );也可以单独访问字典中所有的值,引入方法.value( ),这里较列表来看,多了一个选择

1
2
3
4
5
6
7
8
9
10
11
12
13
favorite_languages = { 
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in favorite_languages.keys():
print(name.title())
输出:
Jen
Sarah
Edward
Phil

实际上随着接触的Python知识量积累,带来越来越多的玩法,像之前接触过函数sorted( ),即按照特定顺序排列,也可以穿插在其中使用,提这一嘴是因为:在Python 3.7版本及更高,遍历字典时将按插入的顺序返回其中的元素,但实际是你不可以事先一个个排好,再插入,所以加入这种玩法

1
2
3
4
5
6
7
8
9
10
11
12
13
favorite_languages = { 
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in sorted(favorite_languages.keys()):
print(name.title())
输出:
Edward
Jen
Phil
Sarah

以上是对键的一些操作,其实还有更多,这里没有进行细探。接下来对值,进行一些操作玩法

1
2
3
4
5
6
7
8
9
10
11
12
13
favorite_languages = { 
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for language in favorite_languages.values():
print(language.title())
输出:
Python
C
Ruby
Python

仔细观察发现,输出的值中第一个和第四个都为Python,进行了重复,但喜欢的语言在最终的输出中都会是唯一性的,所以这里要进行去重,引入集合这个新的函数.set( )

1
2
3
4
5
6
7
8
9
10
11
12
favorite_languages = { 
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for language in set(favorite_languages.values()):
print(language.title())
输出:
Python
C
Ruby

但在阅读一些书籍时,也会看到大括号里只有一些像元素的东西,这里要注意一下的是:此情况可能就不是字典了,而是集合,集合和字典非常相似,都是用大括号括起来的,但一眼望去的区别就是:字典是以键值对的方式存储的,多个键值对是用逗号隔开的,键与值之间使用冒号相关联的,但集合是单一的,所以很像列表中的元素

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2019-2024 Carrol Chen
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信