我有以下串列:
j = [
[(1, 100), (2, 80), (3, 40)],
[(2, 80), (1, 30), (4, 50), (3, 60)],
[(1, 40), (2, 70), (4, 30)]
]
我怎樣才能像這樣列印每個第一個元素:
[1, 2 ,3]
[2, 1, 4, 3]
[1, 2, 4]
我試過
for i in j:
print(i[0])
謝謝!
uj5u.com熱心網友回復:
使用zip和串列理解:
[next(zip(*i)) for i in j]
[(1, 2, 3), (2, 1, 4, 3), (1, 2, 4)]
或者使用嵌套回圈:
[[v[0] for v in i] for i in j]
[[1, 2, 3], [2, 1, 4, 3], [1, 2, 4]]
uj5u.com熱心網友回復:
嘗試這個:
for i in j:
print([v[0] for v in i])
uj5u.com熱心網友回復:
您可以對每個串列 i 使用 python 的串列推導式:
for i in j:
print([x for x,y in i])
如果您之前沒有使用過串列推導式,這意味著對于串列 i 中的每個專案(在本例中為元組 (x,y)),對我們正在創建的這個新串列使用 x 的值。
uj5u.com熱心網友回復:
最丑陋、最不pythonic 的形式,但最容易理解:
for i in j:
l=[]
for m in i:
l.append(m[0])
print(l)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/340985.html
