我想根据另一个列表给出的索引在每个子列表中提取一个值。

这是我的代码:

lstb = [1, 1, 1, 3]    #give my index

lstc = [['W1', 'w3', 'w4', 'w5'],
 ['W21', 'w22', 'w23', 'w24'],
 ['W31', 'w32', 'w33', 'w44'],
 ['W51', 'w52', 'w53', 'w54']]


for i in lstb:
    lstd = []
    for j in lstc:
      l =  lstc[0][i]
      lstd.append(l)

Out[116]: ['w5', 'w5', 'w5', 'w5']


我想获得:[W3,W22,w32,w54]

有人可以帮我吗?

谢谢!

最佳答案

您可以使用:

lstd = []
for index, num in enumerate(lstc):
      lstd.append(num[lstb[index]])

print(lstd)


输出:

['w3', 'w22', 'w32', 'w54']

10-06 03:10