我希望获取一个列表并将值附加到另一个列表,直到达到59个字符的限制。

如果新列表的字符数为54,并且下一个值不符合限制,请停止追加到新列表。

我用有限的py知识尝试了下面的知识

shortest_titles = ['Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet', 'TLorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet']
title_limited = []
counter = 0
while counter < 70:
    for i in shortest_titles:
        title_limited.append(i)

    counter += len(i)

print(title_limited)

最佳答案

如下所示调整您的方法(以进行正确的旋转):

当总输入列表长度(以字符为单位)小于59时,将保留while循环。

shortest_titles = ['Lorem ipsum dolor sit amet', 'amet']
title_limited = []
counter = 0
while counter < 59:
    for i in shortest_titles:
        counter += len(i)
        if counter > 59: break
        title_limited.append(i)

print(title_limited)   # ['Lorem ipsum dolor sit amet', 'amet', 'Lorem ipsum dolor sit amet']
print(len(''.join(title_limited)))  # 56

09-11 19:51