我有一个关于20-30
项[strings
]的列表。
我能够在我的程序中将它们打印得很好 - 但我想节省一些空间,并合并更短的项目...
所以基本上,如果我2 consecutive items
组合长度小于30,我想将这些项目作为列表中的单个条目加入 - 它们之间有/
我没有想出一个简单的方法。
如果我在同一个列表中这样做,我就不在乎,或者制作一个新的项目列表......这一切都发生在1 function
...
答案 0 :(得分:1)
您需要遍历列表并继续加入项目,直到满足您的要求(大小30)。然后在元素增长时将它们添加到新列表中。
l=[] # your new list
buff=yourList[0] if len(yourList)>0 else "" # hold strings till they reach desired length
for i in range(1,len(yourList)):
# check if concatenating will exceed the size or not
t=yourList[i]
if (len(buff) + len(t) + 1) <= 30:
buff+="/"+t
else:
l.append(buff)
buff=t
l.append(buff) # since last element is yet to be inserted
答案 1 :(得分:0)
您可以extend
列表方法如下:
a = [1,2,3]
b = [4,5,6]
a.append('/')
a.extend(b)
您只需根据自己的要求检查两个列表a and b
的大小。
我希望我明白你的问题!
答案 2 :(得分:0)
这段代码对我有用,你可以检查一下你是否想要它,它有点长,但它有效。
for w in word:
for file in file_list:
if w in file:
print file