编程语言
首页 > 编程语言> > 比较Python中的两个列表(几乎相同)

比较Python中的两个列表(几乎相同)

作者:互联网

我在示例中有两个带有值的列表:

List 1 = TK123,TK221,TK132 

List 2 = TK123A,TK1124B,TK221L,TK132P

我想要做的是获取另一个数组,该数组具有列表1和列表2之间所有匹配的值,然后输出不匹配的值.

就我而言,“ TK123”和“ TK123A”被认为是匹配的.因此,从上面的列表中,我只会得到TK1124B.

我并不特别在意速度,因为我计划运行一次并完成该程序.

解决方法:

这会将列表中的每个项目与另一个列表中的每个项目进行比较.如果两个字母都有字母(例如TK132C和TK132P不匹配),这将无法正常工作.如果有问题,请在下面评论.

list_1 = ['TK123','TK221','TK132'] 
list_2 = ['TK123A','TK1124B','TK221L','TK132P']

ans = []
for itm1 in list_1:
    for itm2 in list_2:
        if itm1 in itm2:
            break
        if itm2 in itm1:
            break
    else:
        ans.append(itm1)

for itm2 in list_2:
    for itm1 in list_1:
        if itm1 in itm2:
            break
        if itm2 in itm1:
            break
    else:
        ans.append(itm2)

print ans
>>> ['TK1124B']

标签:sortedlist,python
来源: https://codeday.me/bug/20191014/1911832.html