我有两个数据列出了一个.txt
data1 = "name1", "name2", "name3", "name4" etc.
data2 = "name3", "name6", "name10" etc.
我想找出这名同时出现在名单 如何我会做吗?
我有两个数据列出了一个.txt
data1 = "name1", "name2", "name3", "name4" etc.
data2 = "name3", "name6", "name10" etc.
我想找出这名同时出现在名单 如何我会做吗?
使用sets:
set(data1) & set(data2)
的&
运营商的意思是 “给我这两个集合的交集”或者你可以使用.intersection
方法:
set(data1).intersection(data2)
For a in data1:
for b in data2:
if a==b:
print(a)
这是应该做的一种方式,而不是最好的办法,虽然
nf = [x for x in data1 if x in data2]
nf
将两个列表返回公用项
>>> [ name for name in data1 if name in data2 ]
['name3']
对,这对我来说非常合适。谢谢! – ivanhoifung 2012-07-23 14:59:03
我发现.intersection本身更具可读性,但正如你所说他们做同样的事情。 – TimothyAWiseman 2012-07-23 15:02:41
@ivanhoifung如果这解决了你的问题,你应该[通过点击复选标记接受这个答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)在答案旁边。它会用一些积分奖励双方,并将此问题标记为已解决。 – Levon 2012-07-23 15:18:21