如何比较两个数组以返回与python的匹配?

时间:2017-09-12 00:34:53

标签: python arrays

我有这种格式的数据集1

 ['tyuri:12345', 'hsksfd:58380', 'shskfks:49539']

以此格式的另一个数据集2

 ['12345', '442342', '8053308']

我想将dataset1与dataset2进行比较并让它返回

 tyuri:12345

我知道使用set()。intersection()来比较两个数组并返回完全匹配。我如何实现比较这两个数组以产生所需的输出?

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

a = ['tyuri:12345', 'hsksfd:58380', 'shskfks:49539']
b = ['12345', '442342', '8053308']
new_a = [i for i in a if any(i.endswith(c) for c in b)]

输出:

['tyuri:12345']

new_a中,列表推导用于查找b中存在尾随数字的所有元素。要查找这些值,any()函数用于确定endswith()方法找到的一个或多个尾随值是否包含在b中。

答案 1 :(得分:2)

以下是一种方法的互动演示:

46 1.468903884218341

46 1.1881817088540865

46 4.899728181582378

46 1.5494097713447523

46 2.4958253537304644

46 2.4091648830940953

46 1.4000955420478967

46 1.7560836401632383

46 3.3419380735652897

46 2.8290305398668245

46 2.951901023302089

46 2.9400525658126675

46 2.6769575714598948

46 1.55835425177616