Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 提取列表的内容_Python - Fatal编程技术网

Python 提取列表的内容

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

我有两张单子和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, 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)