我有一个项目,其中我必须获取列表中某些元素的索引,然后使用该索引来获取另一个列表中的另一个值。
例如,
j_set = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
on_going = [1]
e_list = [[], [1], [1], [2], [3], [3], [5], [4, 7], [6], [8, 9], [10]]
到目前为止,代码如下:
if isinstance(on_going, int):
on_going = [on_going]
idx = [y for y, x in enumerate(e_list) if x in on_going] # code to get index in e_list
print(idx)
for i in idx:
q_active = j_set.append(i)
print(q_active)
目标是从index
获得on_going
中相应的e_list
的值/元素。然后,使用该索引从j_set
获取相应的活动并将其存储在q_active
中。
Expected output:
q_active = [2, 3]
问题是,使用上面的代码,我得到了将值存储在q_active中的输出:
[1, 2] #idx output
None
None
任何帮助将不胜感激!谢谢!
答案 0 :(得分:1)
您可以使用enumerate
从列表中获取索引和数据:
e_list = [[], [1], [1], [2], [3], [3], [5], [4, 7], [6], [8, 9], [10]]
for data_index, data_val in enumerate(e_list):
print(data_index, data_val)
# write business logic here
答案 1 :(得分:1)
也许使用list_comprehension:
print([j_set[item] for i in on_going for item in range(len(e_list)) if i in e_list[item]])
#[2, 3]