1

我有两个清单:

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

我想要完整的差异。所以我想要这样的输出: ['', '', '', '', '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)
4

1 回答 1

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']
于 2012-09-02T07:46:22.913 回答