2024-05-11 14:58:23 发布
网友
因此,为了给出一个还没有为它编写任何代码的粗略示例,我很好奇如何能够找出这两个列表的共同点。
示例:
listA = ['a', 'b', 'c'] listB = ['a', 'h', 'c']
我想能回来:
['a', 'c']
怎么会这样?
可能有如下可变字符串:
john = 'I love yellow and green' mary = 'I love yellow and red'
然后返回:
'I love yellow and'
如果两个列表的长度相同,则可以进行并排迭代,如下所示:
list_common = [] for a, b in zip(list_a, list_b): if a == b: list_common.append(a)
为此使用“设置交点”:
list(set(listA) & set(listB))
给出:
注意,由于我们处理的是集合这可能不是保持顺序:
' '.join(list(set(john.split()) & set(mary.split()))) 'I and love yellow'
使用join()将结果列表转换为字符串。
join()
--
对于下面的示例/注释,这个将保持顺序(灵感来自@DSM的注释)
' '.join([j for j, m in zip(john.split(), mary.split()) if j==m]) 'I love yellow and'
对于列表长度不同的情况,其结果在下面的注释中指定:
aa = ['a', 'b', 'c'] bb = ['c', 'b', 'd', 'a'] [a for a, b in zip(aa, bb) if a==b] ['b']
将它们作为集合相交:
set(listA) & set(listB)
如果两个列表的长度相同,则可以进行并排迭代,如下所示:
为此使用“设置交点”:
给出:
注意,由于我们处理的是集合这可能不是保持顺序:
使用
join()
将结果列表转换为字符串。--
对于下面的示例/注释,这个将保持顺序(灵感来自@DSM的注释)
对于列表长度不同的情况,其结果在下面的注释中指定:
将它们作为集合相交:
相关问题 更多 >
编程相关推荐