我试着比较两个列表,找出那个位置和那个位置的变化。例如,以下是两个列表:
list1 = ['I', 'C', 'A', 'N', 'R', 'U', 'N']
list2 = ['I', 'K', 'A', 'N', 'R', 'U', 'T']
我希望能够输出位置并根据两个列表中的差异进行更改。正如你所看到的,一个字母可以在不同的索引位置重复多次。这是我试过的代码,但我似乎无法准确地打印出第二个位置。
for indexing in range(0, len(list1)):
if list1[indexing] != list2[indexing]:
dontuseindex = indexing
poschange = indexing + 1
changecharacter = list2[indexing]
for indexingagain in range(dontuseindex + 1, len(list1)):
if list1[indexingagain] != list2[indexingagain]:
secondposchange = indexingagain + 1
secondchangecharacter = list2[indexingagain]
有没有更好的方法来解决这个问题或者对代码有什么建议?
我的预期产出是:
2 K
7 T
最佳答案
for index, (first, second) in enumerate(zip(list1, list2)):
if first != second:
print(index, second)
输出:
1 K
6 T
如果你想要你给出的输出,我们需要从
1
开始计数,而不是通常的0
:for index, (first, second) in enumerate(zip(list1, list2), start=1):