如何在Python 3中检查两个不同列表中的相同项?
问题:如何在Python 3中检查两个不同列表中的相同项?
原因:该问题的出现是因为用户希望找到两个不同列表中的相同项,并且希望知道如何通过Python 3来实现。
解决方法:
1. 检查两个列表中的相同项并返回一个新的列表:
list1=[1,2,3,4,5] list2=[4,2,3,9,9] list3 = list( set( list1 ).intersection( set( list2 ) ) )
2. 检查两个列表是否有任何匹配项:
if set( list1 ).intersection( set( list2 ) ): print( "These lists contain some identical elements." ) else: print( "These lists do NOT contain identical elements." )
3. 合并列表中的元素并将结果作为一个新列表:
list1=[1,2,3,4,5] list2 = [ int( ''.join(str(x) for x in list1) ) ] print( list2 ) # Output: [12345]
如果希望合并的结果是一个字符串而不是一个整数,可以去掉int强制转换:
list1=[1,2,3,4,5] list2 = [ ''.join(str(x) for x in list1) ] print( list2 )
注意:在StackOverflow上,通常建议每个帖子只提出一个问题,并展示你已经尝试过的代码。
感谢原作者的回答,这个方法对我的代码很有帮助。
Python 3中如何检查两个不同列表中的相同项?
在Python中,您可以使用set
从两个不同列表中获取相似项。这将给出在两个不同列表中相同的值。
>>> a=[1,2,3] >>> b=[2,3,4] >>> set(a) & set(b) {2, 3} >>>
要以列表格式获得此输出,只需键入以下内容
>>> list(set(a) & set(b)) [2, 3]
您可以使用list("123")
命令从字符串值创建列表
>>> a="123" >>> list(a) ['1', '2', '3'] >>>
感谢您的帮助,如果我想使用IF和ELSE来实现如下操作:list1=[6,7,8,9,10],list2=[1,2,3,4,5],然后从用户那里获取输入,如x=int(input('enter your age :')),然后如果用户输入的数字在我的list1中,则打印'you are older than me'。
这里您的评论并不是完全清楚,尽管看起来像一个全新的问题。在StackOverflow上,您应该将每个问题独立地发布为一个新问题,这样在未来人们可以仅搜索该问题。话虽如此,您是否需要以下内容:
list1 = [10,11,15,17,20,37]
user_age = int(input('enter your age :') )
if user_age in list1:
print( "There is at least one other person this age." )
else:
list1.append( user_age )
print( "You are the first person of this age!" )