python - 比较两个列表并找到变化的索引

标签 python list

我正在尝试比较两个列表并找到该位置的位置和更改的字符。例如,这是两个列表:

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/

相关文章:

python - 使用word2vec计算句子相似度

jquery - 多分页(ajax)不适用于 django-el-pagination

Python - 对元组的元素执行操作

arrays - 检查 sub 是否返回 undef

python - 从 pygame 列表中弹出特定元素

python - 在 Python2.7 中将列表转换为字典的最佳方法是什么

python - Django 选择多对多字段而不引发错误

python - 从包含点的文件夹中使用 Python 3 进行相对导入

C++成员初始化列表完整性

python - 如何创建一个将在 python 中序列化为 JSON 格式的数据结构?