gpt4 book ai didi

Python:在列表中每n个字符串添加新行

转载 作者:行者123 更新时间:2023-11-28 16:39:59 25 4
gpt4 key购买 nike

我有一个成对列表要转换成字符串(供以后打印),我想插入一个\n 每三对。我可以按照下面的示例代码进行操作,但是在 Python 中是否有更紧凑的方法?

pairs = [[1,2] for i in range(10)] #my data
pairs = [str(p) + ', ' for p in pairs]
for i in reversed(range(0, len(pairs), 3)):
if i == 0:
continue
pairs.insert(i, '\n')
pairs = ''.join(pairs)
pairs = pairs [:-2] #removing the last ', '

这样,我得到:

>>> print pairs
[1, 2], [1, 2], [1, 2],
[1, 2], [1, 2], [1, 2],
[1, 2], [1, 2], [1, 2],
[1, 2]

最佳答案

可能使用一个辅助生成器,它从对中产生值,并且在每三个之后有一个 '\n':

def add_after_every_n(iterator, item_to_add='\n', after_every=3):
for i, element in enumerate(iterator, 1): # i counts from 1
yield element
if i % after_every == 0:
yield item_to_add

pairs = [[1,2] for i in range(10)]
pairs = [str(p) + ', ' for p in pairs]
pairs_string = ''.join(add_after_every_n(pairs))
pairs_string = pairs_string[:-2] # remove last ', '

关于Python:在列表中每n个字符串添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20654779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com