Python 提取列表的内容
我有两张单子和b。我想提取相似和不相似的项目。事情是a[i]在b[i]里面,例如a[0]==b[0:3]。我在这里尝试的解决方案得到的是相似的(在else语句中),而不是不同的(if语句)。if语句创建多个输入,请指出我缺少的内容Python 提取列表的内容,python,Python,我有两张单子和b。我想提取相似和不相似的项目。事情是a[i]在b[i]里面,例如a[0]==b[0:3]。我在这里尝试的解决方案得到的是相似的(在else语句中),而不是不同的(if语句)。if语句创建多个输入,请指出我缺少的内容 a = [[1,2,3], [9,8,3], [1,3,5], [2,3,8], [0,3,5], [5,5,7]] b = [[1,2,3,4,5,6], [4,5,6,8,6,0], [9,8,3,7,8,9], [5,5,7,0,3,9]] temp, tem
a = [[1,2,3], [9,8,3], [1,3,5], [2,3,8], [0,3,5], [5,5,7]]
b = [[1,2,3,4,5,6], [4,5,6,8,6,0], [9,8,3,7,8,9], [5,5,7,0,3,9]]
temp, temp1 = [], []
for i in a:
for j in b:
if i != j[0:3]:
temp.append(j)
else:
temp1.append(j)
#print temp should output [[1,3,5], [2,3,8], [0,3,5]] but it gives something different
#print temp1 [[1, 2, 3, 4, 5, 6], [9, 8, 3, 7, 8, 9], [5, 5, 7, 0, 3, 9]] is fine
循环嵌套使if条件在ai和bj的所有可能组合上执行。此外,从您在需求中提到的内容来看,您似乎需要temp中的ai值(而不是bj) 您可以使用布尔变量来保存已找到/未找到的布尔值,如图所示:
a = [[1,2,3], [9,8,3], [1,3,5], [2,3,8], [0,3,5], [5,5,7]]
b = [[1,2,3,4,5,6], [4,5,6,8,6,0], [9,8,3,7,8,9], [5,5,7,0,3,9]]
temp, temp1 = [], []
for i in a:
found = False
for j in b:
if i != j[0:3]:
pass
else:
found = True
temp1.append(j)
if not found :
temp.append(i)
a = [[1,2,3], [9,8,3], [1,3,5], [2,3,8], [0,3,5], [5,5,7]]
b = [[1,2,3,4,5,6], [4,5,6,8,6,0], [9,8,3,7,8,9], [5,5,7,0,3,9]]
temp, temp1 = [], []
for i in a:
for j in b:
if i != j[0:3]:
**temp.append(i)
break**
else:
temp1.append(j)