我在做
result = []
for item in tmp_result:
tmp = []
tmp.append(item[0])
tmp.append(item[2])
tmp.append(item[3])
result.append(tmp)
如何让这段代码更加Pythonic?
答案 0 :(得分:4)
概括:
indexes = 0, 2, 3
result = [[item[i] for i in indexes] for item in tmp_result]
请参阅list comprehensions上的Python文档。
答案 1 :(得分:3)
我可能会这样做:
result = [[item[0], item[2], item[3]] for item in tmp_result]
答案 2 :(得分:2)
如果您没有任何约束,可以使用numpy。它更高效,更优雅,您只需要:
>> import numpy
>> a = numpy.array([[1,2,3], [1,2,3]])
>> a[:,1]
array([2,2])
>> a[:,[2,3]]
array([2,3], [2,3])
答案 3 :(得分:0)
尝试列表推导:
result.extend([ [i[0], i[2], i[3]] for i in tmp_result])