我正在尝试比较两个列表并找到该位置的位置和更改的字符。例如,这是两个列表:
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):
关于python - 比较两个列表并找到变化的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36023728/