我有以下清单:
[[50.954818803035948, 55.49664787231189, 8007927.0, 0.0],
[50.630482185654436, 55.133473852776916, 8547795.0, 0.0],
[51.32738085400576, 55.118344981379266, 6600841.0, 0.0],
[49.425931642638567, 55.312890225131163, 7400096.0, 0.0],
[48.593467836476407, 55.073137270550006, 6001334.0, 0.0]]
Run Code Online (Sandbox Code Playgroud)
我想打印每个列表中的第三个元素。想要的结果是:
8007927.0
8547795.0
6600841.0
7400096.0
6001334.0
Run Code Online (Sandbox Code Playgroud)
我试过:
print data[:][2]
Run Code Online (Sandbox Code Playgroud)
但它没有输出所需的结果。
有很多方法可以做到这一点。这是一个简单的列表方式,没有显式for循环。
tt = [[50.954818803035948, 55.49664787231189, 8007927.0, 0.0], [50.630482185654436, 55.133473852776916, 8547795.0, 0.0], [51.32738085400576, 55.118344981379266, 6600841.0, 0.0], [49.425931642638567, 55.312890225131163, 7400096.0, 0.0], [48.593467836476407, 55.073137270550006, 6001334.0, 0.0]]
print [x[2] for x in tt]
> [8007927.0, 8547795.0, 6600841.0, 7400096.0, 6001334.0]
Run Code Online (Sandbox Code Playgroud)
对于潜在的短名单,制作是安全的
print [x[2] for x in tt if len(tt) > 3]
Run Code Online (Sandbox Code Playgroud)
更复杂的输出(python 2.7),将值打印为换行符(\n)分隔
print '\n'.join([str(x[2]) for x in tt])
> 8007927.0
> 8547795.0
> 6600841.0
> 7400096.0
> 6001334.0
Run Code Online (Sandbox Code Playgroud)