Skip to Content
Python语言及其应用(第2版)
book

Python语言及其应用(第2版)

by Bill Lubanovic
March 2022
Intermediate to advanced
522 pages
13h 52m
Chinese
Posts & Telecom Press
Content preview from Python语言及其应用(第2版)
字典和集合
109
纯粹是浪费时间,因为不得不统计两次
'e'
和两次
't'
。不过第二次统计
'e'
时,倒也没
什么影响,只是替换了字典中本来就已经存在的项,统计
't'
时也是一样。所以,下面的
代码多少更具
Python
范儿:
>>> word = 'letters'
>>> letter_counts = {letter: word.count(letter) for letter in set(word)}
>>> letter_counts
{'t': 2, 'l': 1, 'e': 2, 'r': 1, 's': 1}
这个例子中字典键的顺序和上个例子不同,原因在于迭代
set(word)
时返回的字母顺序和
迭代字符串
word
时不一样。
类似于列表推导式,字典推导式也可以使用
if
条件测试和多个
for
子句:
{
key
_
expression
:
value
_
expression
for
expression
in
iterable
if
condition
}
>>> vowels = 'aeiou'
>>> word = 'onomatopoeia'
>>> vowel_counts = {letter: word.count(letter) for letter in set(word)
if letter in vowels}
>>> vowel_counts
{'e': 1, 'i': 1, 'o': 4, 'a': 2}
字典推导式的更多示例参见
PEP-274
8.2
集合
集合
就像丢掉了值只剩下键的字典。和字典一样,每个键必须是唯一的 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python编程入门与实战

Python编程入门与实战

Posts & Telecom Press, Fabrizio Romano
Python实用技能学习指南

Python实用技能学习指南

Posts & Telecom Press, Robert Smallshire, Austin Bingham
Python技术基础视频教程

Python技术基础视频教程

保罗·J·戴特尔
Python面向对象编程指南

Python面向对象编程指南

Posts & Telecom Press, Steven F. Lott

Publisher Resources

ISBN: 9787115586223