下面是我尝试过的代码,但它会为这两种情况返回一个输出
alist = ['bla', 'blblblbl', 'asasa', 'blblblblblb']
astring = 'bla lalala lvlvl lblblbl asasa'
for i in alist:
if i in astring:
newstring = astring.replace(i, 'True')
print(newstring)
输出:
True lalala lvlvl lblblbl asasa
bla lalala lvlvl lblblbl True
我需要:
True lalala lvlvl lblblbl True
str.replace通过将旧的替换为新的方式返回字符串的新副本,并且您不保存它,所以只需始终保存新副本并执行下一个
replace
操作你可以很容易地解决这个问题回复sub你知道吗
我建议只拆分
astring
,使用列表理解来进行替换,然后将其连接回去:产生:
把它分解一下:
astring.split()
==['bla', 'lalala', 'lvlvl', 'lblblbl', 'asasa']
i
在alist
中,{'True'
替换i
['True' if i in alist else i for i in astring.split()]
==['True', 'lalala', 'lvlvl', 'lblblbl', 'True']
' '.join(['True', 'lalala', 'lvlvl', 'lblblbl', 'True']
将列表转换为一个字符串,其中' '
连接列表元素。你知道吗相关问题 更多 >
编程相关推荐