我有一些列表:
a=['abc','123','def','ghi','456','jkl','789','mno','pqr']
如果元素是数字,我想组合列表的元素,即它包含0-9
喜欢:
b=['abc 123','def','ghi 456','jkl 789','mno','pqr']
怎么做?我有一个解决方案,如果数字元素是作为数字给出的(如int
),但在这里它们是stings.Please help
假设a=['abc',123,'def','ghi',456,'jkl',789,'mno','pqr']
然后我们可以做到:
t=[]
for i in a:
if isinstance(i, int):
t[-1] = "{0} {1}".format(t[-1], i)
else:
t.append(i)
print(t)
然后输出将是:
t=['abc 123','def','ghi 456','jkl 789','mno','pqr']
如何为a=['abc','123','def','ghi','456','jkl','789','mno','pqr']
注意:如果第一个元素是数字,那么它应该保持不变。 此外,我有一个列表,连续行中没有两个数字元素。
答案 0 :(得分:0)
a=['abc','123','def','ghi','456','jkl','789','mno','pqr']
new_lst = []
for x in a:
if x.isdigit():
new_lst[-1] += ' {}'.format(x)
else:
new_lst.append(x)
print(new_lst)
<强>输出强>
['abc 123', 'def', 'ghi 456', 'jkl 789', 'mno', 'pqr']