poke_list = [... 'Charizard', '(Mega', 'Charizard', 'X)', '78', '130', ...] #1000+ values
是否可以合并以'('
开头并以')'
结尾的字符串,然后将其重新插入同一列表或新列表中
我想要的输出poke_list = [... 'Charizard (Mega Charizard X)', '78', '130', ...]
分析解答
您可以遍历列表元素,检查每个元素是以(
开头还是以)
结尾。一旦找到括号之间的元素,就可以通过字符串.join
方法将它们连接起来,如下所示:
poke_list = ['Charizard', '(Mega', 'Charizard', 'X)', '78', '130']
new_poke_list = []
to_concatenate = []
flag = 0
for item in poke_list:
if item.startswith('('):
to_concatenate.append(item)
flag = 1
elif item.endswith(')'):
to_concatenate.append(item)
concatenated = ' '.join(to_concatenate)
new_poke_list.append(concatenated)
to_concatenate = []
flag = 0
else:
if flag == 0:
new_poke_list.append(item)
else:
to_concatenate.append(item)
print(new_poke_list)
当元素在方括号内时,将flag
设置为1
,否则将0
设置为0
。