我试图使用 python 3 查找两个列表的公共元素,并有一个新列表,其中公共元素仅出现一次。这是我到目前为止所拥有的:
lengtha = len(lista);
lengthb = len(listb);
identical = [];
checker = 0;
for i in range (0, lengtha-1):
for j in range (0, lengthb-1):
if lista[i] == listb[j]:
length = len(identical);
for h in range (0, length-1):
if lista[i] == identical[h]:
checker = 1;
if checker == 0:
identical.append(list[i]);
checker = 0;
Run Code Online (Sandbox Code Playgroud)
当我尝试使用列表时
lista = ['hello', 'cat', 'dog', 'dog']
listb = ['hello', 'cat', 'cat', 'mouse', 'whale', 'whale', 'elephant', 'whale', 'elephant', 'dog', 'dog']
Run Code Online (Sandbox Code Playgroud)
结果是['hello','cat','cat','dog']。我不明白为什么'cat' …
当我尝试检查列表中的重叠元素时,我遇到了一些麻烦.
这意味着我将不得不检查两个列表之间的共同元素.
在我的程序的工作方式是,玩家进入一定船舶他们的两个端部坐标,它就会创建一个列表出来的这一切船舶坐标(IE的,如果他们进入(1,1)和(1,5),它将创造[(1,1),(1,2),(1,3),(1,4),(1,5)]
我也尝试使用以下代码,但它不适用于我想要的方式:
ListA = [(1,1),(1,2),(1,3),(1,4),(1,5)]
ListB = [(1,1),(2,1),(3,1)]
for i in ListB:
if i in ListA:
print("There is an overlap")
#choose coordinates again
else:
print("There is no overlap")
#add to ListA and next ship's coordinate chosen
Run Code Online (Sandbox Code Playgroud)
我想让程序通过集体考虑来检查A中的任何元素是否在B中,而不是单独检查它们.
我有两个从两个不同的数据库表生成的python列表
list1= ["'HZ1398043','HZ1395693','HZ1395532','HZ1395240','HZ1395194','HZ1395113','HZ1395036','HZ1395236','HZ1396139','HZ1398028','HZ1395098','HZ1395998','HZ1395018','HZ1395829','HZ1398031','HZ1395708','HZ1398029','HZ1398030','HZ1398054''"]
list2= ['', '', '', '', '', 'HZ1395018', 'HZ1395036', 'HZ1395098', 'HZ1395113', 'HZ1395194', 'HZ1395236', 'HZ1395240', 'HZ1395532', 'HZ1395693', 'HZ1395708', 'HZ1395829', 'HZ1395998', 'HZ1396139', 'HZ1398028', 'HZ1398029', 'HZ1398031', 'HZ1398043', 'HZ1397932', 'HZ1397949', 'HZ1398004', 'HZ1398021', 'HZ1398030', 'HZ1397940', 'HZ1397941', 'HZ1398010',', '', '']
Run Code Online (Sandbox Code Playgroud)
我需要找到两者之间的共同元素
set(list1) & set(list2)
Run Code Online (Sandbox Code Playgroud)
不显示任何内容
甚至[i for i in list1 if i in list2]不显示任何东西.我可以清楚地看到HZ1398043很常见.
问题是这样,拿两个清单,例如说这两个:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Run Code Online (Sandbox Code Playgroud)
并编写一个程序,该程序返回一个列表,该列表仅包含列表之间的公共元素(无重复项)。确保您的程序可以在两个不同大小的列表上运行。
这是我的代码:
a = [1, 1, 2, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
c = []
for i in a:
if i in b and i not in c:
c.append([i])
print(c)
Run Code Online (Sandbox Code Playgroud)
尽管'i …