首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分隔列表中的元素,但仍按顺序排列另一个列表

分隔列表中的元素,但仍按顺序排列另一个列表
EN

Stack Overflow用户
提问于 2021-11-04 20:06:39
回答 2查看 45关注 0票数 0

我想把这个列表分开

代码语言:javascript
复制
[1000011]

并将其转化为

代码语言:javascript
复制
["1", "0000", "11"]
EN

回答 2

Stack Overflow用户

发布于 2021-11-04 20:14:43

itertools有一个groupby()方法,它应该可以做您想做的事情。

代码语言:javascript
复制
from itertools import groupby

vals = [1000011]
splitVals = []

for val in vals:
    splitVals.extend(''.join(g) for k,g in groupby(str(val)))

print(splitVals)

或者,如果需要,可以将for循环压缩到一行中:

代码语言:javascript
复制
splitVals = [''.join(g) for val in vals for k,g in groupby(str(val))]

演示:Try it online!

票数 2
EN

Stack Overflow用户

发布于 2021-11-04 20:14:18

您可以使用itertools.groupby

代码语言:javascript
复制
l = [1000011]

from itertools import groupby

[[''.join(g) for k,g in groupby(str(x))] for x in l]

输出:['1', '0000', '11']

如果输入列表中有多个值:

输入:l = [1000011, 1221]

输出:[['1', '0000', '11'], ['1', '22', '1']]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69845228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档