说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
本案例是将一个文本 '100-103、120、141-143'
变成 [100, 101, 102, 103, 120, 141, 142, 143]
这样的列表。对于有连字符的内容补全中间的数字。
解决代码如下:
foo = '100-103、120、141-143'
foo = foo.split('、')
foo
# ['100-103', '120', '141-143']
foo = map(lambda x: x.split('-'), foo)
foo = map(lambda x: range(int(x[0]), int(x[-1])+1), foo)
import itertools
chains = itertools.chain(*foo)
[*chains]
# [100, 101, 102, 103, 120, 141, 142, 143]
重点使用了 map 内容函数来对元素一一处理,使用 itertools.chain()
将一个列表中的列表元素拼接进来。
(完)
更新时间:2024-07-04 09:16:40 标签:python 补全 列表