<返回更多

羡慕BI软件的可视化?Python终于可以做出联动可视化报告

2022-03-24    流玉
加入收藏

先贴示例代码,方便着急用的朋友:

from pypinyin import lazy_pinyin as py
raw = [ "赌场", "大班", "abc", "军史", "大阪", "赌博", "bbc", "经营", "独播", "精英", "军事" ]
ordered = sorted(raw, key=lambda e: ''.join(py(e)))
for z in zip(raw, ordered):
    print(z)

输出:

('赌场', 'abc')
('大班', 'bbc')
('abc', '大班')
('军史', '大阪')
('大阪', '赌博')
('赌博', '独播')
('bbc', '赌场')
('经营', '经营')
('独播', '精英')
('精英', '军史')
('军事', '军事')

再说说关键的地方,方便想改动自用的朋友。示例代码中最关键部分如下:

sorted(raw, key=lambda e: ''.join(py(e)))

首先sorted函数的key指定了排序时的取值,也就是说sorted算法对raw列表元素做比较时实际使用的是key对应函数的结果,这样在排序raw时实际是比较的其元素的pinyin输出。

再说key,其对应一个函数,可以是lambda,也可以是其他函数,如果排序的是对象,也可以在此调用对象的函数,这样就可以对对象列表进行自定义的偏序排序了。

最后是py的输出,此函数返回输入字符串的拼音列表,例如:

>>> py('abc')
['abc']
>>> py('赌场')
['du', 'chang']

所以可以把拼音列表连接起来使用。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>