1.列表推导式
列表推导式书写形式:
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
如:
2.找出一篇文本中出现的前十人名并生成饼图
from wordcloud import WordCloud
import jieba
import imageio
mask = imageio.imread('./china.jpg')
text_list ="""轻轻的我走了,
正如我轻轻的来;
我轻轻的招手,
作别西天的云彩。
那河畔的金柳,
是夕阳中的新娘;
波光里的艳影,
在我的心头荡漾。
软泥上的青荇,
油油的在水底招摇;
在康河的柔波里,
我甘心做一条水草!
那榆荫下的一潭,
不是清泉,
是天上虹;
揉碎在浮藻间,
沉淀着彩虹似的梦。
寻梦?撑一支长篙,
向青草更青处漫溯;
满载一船星辉,
在星辉斑斓里放歌。
但我不能放歌,
悄悄是别离的笙箫;
夏虫也为我沉默,
沉默是今晚的康桥!
悄悄的我走了,
正如我悄悄的来;
我挥一挥衣袖,
不带走一片云彩。
"""
words = jieba.lcut(text_list) # jieba分词,精确模式,得到相应的词
print(words)
words_list = " ".join(words) #将words转化成字符串
print(words_list)
wc = WordCloud(font_path='msyh.ttc',mask=mask,background_color='white').generate(words_list) #WordCloud()里面设置参数
wc.to_file('再别康桥.png')#保存图片,但是在第三模块的例子中 图片大小将会按照 mask 保存
生成的词云图片
3匿名函数——lambda表达式
格式为 lambda x1,x2:表达式,其中x1,x2为参数
pow = lambda x,y:x*y
print(pow(2,3)) #6
4.列表推导式
格式[表达式 for 临时变量 in 可迭代对象 (追加条件)]括号中的内容可选。
[x*x for x in range(10)]#输出为[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[x*x for x in range(10) if x%3==0]#输出为[0, 9, 36, 81],此表达式又可以称作列表解析,筛选出可以被3整除的数的乘积
#字典推导
# # 生成5部手机价格
phone = {'手机{}'.format(i):randint(1000, 3000) for i in string.ascii_uppercase[0:5]}
print(phone) #{'手机A': 2801, '手机B': 2330, '手机C': 1105, '手机D': 1499, '手机E': 2463}
# 筛选价格超过2000的所有手机