比较2个字符串列表,更新相同索引位置的第3个字符串列表

时间:2018-09-17 23:36:45

标签: python list

例如,如果我有3个字符串列表,则:

['make ford', 'model taurus', 'color white']
['make chevy', 'model impala', 'color white']
['make ford', 'model taurus', 'color white']

检测list与1和2之间发生的更改的最佳方法是什么?然后更新清单3? 例如,输出为:

['make chevy', 'model impala', 'color white']

我要实现的基本逻辑是:

if string1[0] = string2[0], then string3[0] remains unchanged
if string1[0] /= string2[0], then string3[0] is changed to string2[0]'s value

...等等 将这些列表转换为数组会更好吗?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

  a = ['make ford','model taurus','color white']
b = ['chevy chevy','model impala','color white']
c = [“制造福特”,“金牛座模型”,“彩色白色”]

对于范围内的我(len(a)):
    如果a [i]!= b [i]:c [i] = b [i]

打印(c)
 

输出

  ['make chevy','model impala','color white']
 

此答案假定所有列表的大小均相同。如果列表大小不同,则只能比较(更改)最小列表的索引,在这种情况下,您可以尝试以下操作:

  length = min(len(a),len(b),len(c))
对于我在范围(长度)中:
    如果a [i]!= b [i]:
        c [i] = b [i]

打印(c)