Python 3.x python中列表理解输出中的问题

Python 3.x python中列表理解输出中的问题,python-3.x,list,tuples,Python 3.x,List,Tuples,我有下面的清单 d=[[(1.0,1.1,1223),(2.0,1.1,1224)],[(3.0,1.1,1222),(4.0,1.1,1222)],[(5.0,1.1,1222),(1.0,1.1,1222)]] 但是,我得到了以下输出: [(1.0, 1.1), (2.0, 1.1), (3.0, 1.1), (4.0, 1.1), (5.0, 1.1), (1.0, 1.1)] [(1.0, 1.1), (2.0, 1.1), (3.0, 1.1), (4.0, 1.1), (5.0, 1

我有下面的清单

d=[[(1.0,1.1,1223),(2.0,1.1,1224)],[(3.0,1.1,1222),(4.0,1.1,1222)],[(5.0,1.1,1222),(1.0,1.1,1222)]] 但是,我得到了以下输出:

[(1.0, 1.1), (2.0, 1.1), (3.0, 1.1), (4.0, 1.1), (5.0, 1.1), (1.0, 1.1)] [(1.0, 1.1), (2.0, 1.1), (3.0, 1.1), (4.0, 1.1), (5.0, 1.1), (1.0, 1.1)]
错误在哪里?

此代码打印出所需的输出:

l = [[(1.0,1.1,1223),(2.0,1.1,1224)],[(3.0,1.1,1222),(4.0,1.1,1222)],[(5.0,1.1,1222),(1.0,1.1,1222)]]

b = []

times = 0

for a in l:
    b.append([])
    for x in range(2):
        b[times].append((a[x][0],a[x][1]))
        
    times += 1        
            
print(b)

如果您想要列表理解,您需要使用一个考虑列表
d
嵌套的列表

g = [[y[:2] for y in x] for x in d]
在这里,外部列表理解循环通过
d
的内部列表,而内部列表理解循环通过这些内部列表中的元组

l = [[(1.0,1.1,1223),(2.0,1.1,1224)],[(3.0,1.1,1222),(4.0,1.1,1222)],[(5.0,1.1,1222),(1.0,1.1,1222)]]

b = []

times = 0

for a in l:
    b.append([])
    for x in range(2):
        b[times].append((a[x][0],a[x][1]))
        
    times += 1        
            
print(b)
g = [[y[:2] for y in x] for x in d]