作为标题(我搜索了网站,但没有找到答案),我必须在n
列表中找到一个共同的词。你知道吗
例如,如果我有以下列表:
list1 = ["a", "b", "c"]
list2 = ["d", "e", "a"]
list3 = ["f", "g", "h", "i", "j"]
列表1和列表2有一个共同点,即“a”。。。 显然我也可以有100张单子。。。但我不知道数字,算法必须一直工作,当然课程:P你知道吗
我想到了一个for循环,但是我从来没有得到具体的东西(在range(len(list1))中生成num),因为如果列表的长度不同,就什么也做不了。你知道吗
编辑:我道歉,也许我解释不好,我没有名单的名单。 我在处理图,在图的节点信息中,我有一个列表,在cui中,我有信息,我需要找到共享公共信息的节点,以便用弓将它们连接起来。你知道吗
在这个图中,我有n
节点,根据它如何生成程序,因此我有n
列表。你知道吗
您可以像这样使用集合的交集(如果您有一个列表列表,则可以相应地修改)
编写一个函数,获取iterables列表,将它们转换为集合,并获取交集,交集返回两个集合共有的元素:
我问你想要两件事中的哪一件,你回答“准确”,然后以一种仍然无法告诉我你想要两件事中的哪一件的方式澄清。所以,我还是不知道你想解决哪个问题。所以我会解释他们两个。你知道吗
首先,从您在
range(len(list1))
上尝试循环的事实来看,您可能只在相同位置寻找匹配项,也就是说,list1[3] == list2[3]
是匹配项,而list1[3] == list2[2]
不是。你知道吗为此,通常需要^{} 函数。但在这种情况下,鉴于您的评论“如果列表长度不同,则无法执行任何操作”,我假设您希望继续执行,直到最长的列表结束。为此,需要^{} 函数。像这样:
最有可能的情况是,您要检查listX与listY的所有组合。聪明的方法是使用^{} :
这与我在评论中所说的一致:如果你有3到100个列表,你不希望它们在单独的变量中,比如
list1
,list2
,list100
,你希望它们在一个大的列表(或dict)中。你知道吗或者,您可能只想将列表视为集合,并在不考虑位置的情况下查找匹配项,因此,如果
list1[2] == list2[3]
这很重要。你知道吗在这种情况下,您所要求的只是集合^{} 是否为非空。像这样:
(或者,等价地,您可以
reduce
覆盖is_disjoint
,或者用其他几种方法来做同样的事情。)但是,如果要将列表作为集合使用,首先应该将它们存储为集合。(同样,您应该将它们存储在集合列表中,而不是3-100个单独的变量。)
相关问题 更多 >
编程相关推荐