Python - 两个列表相同长度的完全差异

时间:2012-09-02 07:41:19

标签: python list

我有两个清单:

a = ['Peter', '1982', '2000', 'Homeland', '10.34']
b = ['Peter', '1982', '2000', 'Homelnad', '10.32']

我想要comlete diff。 所以我想要这样的输出: ['','','','','10 .32'] 所以我想在正确的位置更改值。

这有内置功能吗?这样做的最快方法是什么?我是否必须“手动”这样做?

i = 0
new_list = []
for item in a:
    if item != b[i]:
        new_row.append(item)
    else:
        new_row.append('')
    i += 1
    new_list.append(new_row)

1 个答案:

答案 0 :(得分:6)

我不认为有内置,但这是一种较短的“手动”方式:

In [1]: a = ['Peter', '1982', '2000', 'Homeland', '10.34']

In [2]: b = ['Peter', '1982', '2000', 'Homelnad', '10.32']

In [3]: [be if ae != be else '' for ae, be in zip(a, b)]
Out[3]: ['', '', '', 'Homelnad', '10.32']