Python 列表的交集,查找长度
如果我们正在寻找两个列表的交集,我们通常会这样做Python 列表的交集,查找长度,python,python-3.x,Python,Python 3.x,如果我们正在寻找两个列表的交集,我们通常会这样做 b1 = set(aList).intersection(aList2) print(b1) 但是,如果我们只想得到长度为4的两个单词列表的交集,该怎么办 比如说 所以如果 aList = ["james", "kobe", "ball"] 及 我希望b1是=[“科比”],因为科比的长度是4,而詹姆斯不是 我们需要先从列表中删除所有长度为4的单词吗?或者在交叉路口时有没有检查的方法?您可以使用: four_letter_intersectio
b1 = set(aList).intersection(aList2)
print(b1)
但是,如果我们只想得到长度为4的两个单词列表的交集,该怎么办
比如说
所以如果
aList = ["james", "kobe", "ball"]
及
我希望b1是=[“科比”],因为科比的长度是4,而詹姆斯不是
我们需要先从列表中删除所有长度为4的单词吗?或者在交叉路口时有没有检查的方法?您可以使用:
four_letter_intersection = {
word for word in set(list_a).intersection(list_b) if len(word) == 4
}
>>> aList = ["james", "kobe", "ball"]
>>> aList2 = ["jimmy","james","kobe"]
>>> b1 = set(aList).intersection(aList2)
>>> b1
set(['james', 'kobe'])
>>> result = [i for i in b1 if len(i)==4]
>>> result
['kobe']
>>>
对于交叉口操作,只传递长度为4的单词。 从
aList
列表中创建tmp
列表,其中只有长度为4的单词
演示:
>>> aList = ["james", "kobe", "ball"]
>>> aList2 = ["jimmy","james","kobe"]
>>> b1 = set(aList).intersection(aList2)
>>> b1
set(['james', 'kobe'])
>>> result = [i for i in b1 if len(i)==4]
>>> result
['kobe']
>>>
>>> aList = ["james", "kobe", "ball"]
>>> aList2 = ["jimmy","james","kobe"]
>>> tmp = [i for i in aList if len(i)==4]
>>> tmp
['kobe', 'ball']
>>> b1 = set(tmp).intersection(aList2)
>>> print b1
set(['kobe'])
>>>