查看原文
其他

5个小问题带你理解列表推导式

大邓 大邓和他的Python 2022-07-09

问题1 用列表表示集合X

直接敲出来

X = [1,2,3,4,5,6,7,8,9,10]X
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

也可以

X = list(range(1, 11))X
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

问题2 表示集合B

B = []for x in X: B.append(x*x) B
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表推导式

列表推导式代码简洁,可读性强。

[x*x for x in X]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

如何理解列表推导式

实现步骤

先复制X

#复制X本身[x for x in X]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#对X中的每一个元素进行操作[x*x for x in X]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

理解,类比上面的集合公式

  • x*x 相当于
  • for 相当于 |
  • in 相当于

带条件的列表推导式

C = [x*x for x in range(1, 11) if x%2==1]C
[1, 9, 25, 49, 81]
#断行C = [a*a for a in range(1, 11) if a%2==1]C
[1, 9, 25, 49, 81]

问题3 全部小写

words = ['Life', 'is', 'short', 'so', 'we', 'use', 'Python', 'python', 'is', 'easy', 'to', 'learn', 'and', 'easy', 'to', 'use']words
['Life',
'is',
'short',
'so',
'we',
'use',
'Python',
'python',
'is',
'easy',
'to',
'learn',
'and',
'easy',
'to',
'use']
lower_words = [w.lower() for w in words]lower_words
['life',
'is',
'short',
'so',
'we',
'use',
'python',
'python',
'is',
'easy',
'to',
'learn',
'and',
'easy',
'to',
'use']

问题4 计算lower_words列表数据的单词词频

wordset = set(lower_words)wordset
{'and',
'easy',
'is',
'learn',
'life',
'python',
'short',
'so',
'to',
'use',
'we'}
[(w, lower_words.count(w)) for w in wordset]
[('we', 1),
('learn', 1),
('to', 2),
('so', 1),
('python', 2),
('is', 2),
('and', 1),
('use', 2),
('easy', 2),
('short', 1),
('life', 1)]

问题5

d = {'x': 'A', 'y': 'B', 'z': 'C' }

如何将d中的 键值对 拼接,输出为

['xA', 'yB', 'zC]

d = {'x': 'A', 'y': 'B', 'z': 'C' }
d.items()
dict_items([('x', 'A'), ('y', 'B'), ('z', 'C')])
[item for item in d.items()]
[('x', 'A'), ('y', 'B'), ('z', 'C')]
[item[0]+item[1] for item in d.items()]
['xA', 'yB', 'zC']

精彩回顾





Python网络爬虫与文本数据分析

综述:文本分析在市场营销研究中的应用

数据分析中,文本分析远比数值型分析重要!(上)

数据分析中,文本分析远比数值型分析重要!(下)

Label Studio多媒体数据标注工具[5星推荐]

如何批量下载上海证券交易所上市公司年报

中文文本数据逻辑性分析库

中文文本分析相关资源汇总

cnsenti中文情绪情感分析库

如何使用Python快速构建领域内情感词典

Python数据分析相关学习资源汇总帖

漂亮~pandas可以无缝衔接Bokeh

YelpDaset: 酒店管理类数据集10+G

Loughran&McDonald金融文本情感分析库


万水千山总是情,给我点好看可好❤


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存