如何找到两个列表之间的共同点?

2024-04-26 06:41:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个化学品长名单(约100化学品每个),并想找出哪些化学品是共同的两个名单。我基本上需要一个程序,将允许我插入2长名单,然后打印出的化学品是常见的。我目前只知道java脚本和python,不知道如何做到这一点,而不经历至少2个列表中的1个化学成分。你知道吗


Tags: 程序脚本列表java经历名单化学品
3条回答

你可以试试下划线.js用于JavaScript中的各种操作
_.difference :返回数组中其他数组中不存在的值。你知道吗

_.difference([1, 2, 3, 4, 5], [5, 2, 10]);
=> [1, 3, 4]

你可以在python中试试

list(set([1, 2, 3, 4, 5]) - set([5, 2, 10]))
=> [1, 3, 4]

你可以用电视机来做这个。不过,我建议先将每个条目转换为小写,但具体如下:

list_1 = ["Barrelene", "Mimimycin"]
list_2 = ["Prismane", "barrelene", "Josiphos"]

set_1 = set([x.lower() for x in list_1])
set_2 = set([x.lower() for x in list_2])

print set_1.intersection(set_2)

这将显示:

set(['barrelene'])

如果这两个列表位于文本文件中,则可以使用以下脚本:

with open('list_1.txt', 'r') as f_list_1:
    set_1 = set([name.strip().lower() for name in f_list_1])

with open('list_2.txt', 'r') as f_list_2:
    set_2 = set([name.strip().lower() for name in f_list_2])

for name in set_1.intersection(set_2):
    print name

我建议您使用Microsoft Word将两个文档保存为文本文件。但是也可以使用Python模块直接读取docx文件。你知道吗

在JS中,可以使用^{}执行以下操作:

var arr1 = [1, 2, 3, 4, 5];
var arr2 = [3, 10, 12, 4, 15];

function findCommon(arr1, arr2) {
    return arr1.filter(function (el) {
        return arr2.indexOf(el) > -1;
    });
}

findCommon(arr1, arr2); // [3, 4]

DEMO

相关问题 更多 >