如何拼接列表并使用拼接的部分创建新列表?

2024-04-25 13:32:06 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一个例子。你知道吗

文件有一个字符串:4;4;4;8;4;4;4;9;9;4;4。你知道吗

我希望它输出:

4;4;4
8
4;4;4
9
9
4;4 

在本例中,决定何时拼接的限制是大于4的任何数字。我在这里尝试过查看python库和其他问题。我的猜测包括以下几点:

listA = [] 
listB = []
for i in line:
    listA.append(i)

for item in listA:
    if int(item) > 4:
         listB.append(item)
    else:
         item = item

print(listA)
print(listB)

有没有更有效、更快的方法?我肯定有,但我不是在python的经验,并将感谢您的帮助!你知道吗


Tags: 文件字符串inforifline数字item
1条回答
网友
1楼 · 发布于 2024-04-25 13:32:06

使用^{}

from itertools import groupby

for key, group in groupby(line.split(';'), key=lambda i: int(i) > 4):
    if key:
        for i in group:
            print(i)
    else:
        print(';'.join(group))

演示:

>>> for key, group in groupby(line.split(';'), key=lambda i: int(i) > 4):
...     if key:
...         for i in group:
...             print(i)
...     else:
...         print(';'.join(group))
... 
4;4;4
8
4;4;4
9
9
4;4

groupby实用函数按一个键对序列进行分组;这里根据值是否大于4来确定;每次迭代都会给出一个值序列,如果当前组中的值确实大于4,则我们将它们打印在不同的行上,否则,它们将再次用分号连接成一个字符串。你知道吗

相关问题 更多 >