我有一个字符串列表,我想检查模式,如果模式匹配,将两个元素组合在一起,并创建一个新列表
例如,这是我的列表:
string_ = ["aBc", "ab","12abc55", "ABAB", "125"]
如何-如果列表中的第二项是字符串(里面没有数字),而列表中的第三项是数字和字符的组合,那么我想将它们加在一起,中间留一个空格。我的最终输出应该是:
["aBc", "ab 12abc55", "ABAB", "125"]
我尝试了以下方法:
def hasNumbers(inputString):
return bool(re.search(r'\d', inputString))
data = []
for i in range (0,len(string_)):
if string_[1].isalnum() and hasNumbers(string_[2]):
data.append(string_[1]+ " "+ string_[2])
else:
data.append(string_[i])
这不会给出预期的输出
如果要使用循环,则需要使用
i
读取列表的值:输出:
我将复制整个列表,并仅在条件满足时更新它
对于第二和第三个要素:
使用for循环迭代列表在这里没有意义,因为您想要执行的操作只需执行一次。所以你不需要一个循环。您可以使用以下内容替换for循环以实现预期结果:
相关问题 更多 >
编程相关推荐