如何比较并修改来自两个字符串中对应索引的字符?

2024-06-28 15:24:43 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

string1 = 'ABC'
string2 = 'xBz'
for a, b in string1, string2:
    if a == b:
        print 'True'
        a = (a.upper())
        b = (b.upper())
    else:
        print 'False'
        a = (a.upper())
        b = (b.upper())
print 'new string1 =', string1
print 'new string2 =', string2

我希望能够逐个字符比较字符串,然后根据它们是否相同来修改字符。我尝试过使用zip(),但结果是元组无法修改(如果我理解正确的话)


Tags: 字符串infalsetruenewforif字符
2条回答

可以将^{}^{}一起使用,如下所示:

s1 = 'abcdef'
s2 = 'axcyez'

l1 = list(s1)
l2 = list(s2)

for i, item in enumerate(zip(s1, s2)):
    if item[0] == item[1]:
        l1[i] = l2[i] = item[0].upper()

s1 = ''.join(l1)
s2 = ''.join(l2)

zip()用于形成来自s1s2的元素元组

enumerate()用于跟踪每个字符串的索引

输出:

>>> s1
'AbCdEf'
>>> s2
'AxCyEz'

如果要创建包含string1和string2共有的所有元素的新字符串,可以使用以下代码:

print "".join([x for x in string2 if x in list(string1)])

相关问题 更多 >