如何基于现有的对象列表和Python

时间:2018-03-04 15:32:35

标签: python

我有一个对象列表list和一个索引列表indexes,我想在索引定义的索引处创建一个包含原始列表对象的new_list。登记/> 我尝试了几种方法,但不能这样做 例如,如果indexes列表中只有2个索引,为什么以下内容不起作用? new_list = [list[indexes[0]] + list[indexes[1]]]
很高兴知道解决这个问题的一般方法,对于任何长度的索引列表。

1 个答案:

答案 0 :(得分:3)

以下作品:

my_list=['a','b','c','d']
my_indices=[1, 3]

new_list = [my_list[i] for i in my_indices if i < len(my_list)]

上面的列表理解将在my_list的索引处获得my_indices的所有元素。 if就在那里,因此您不会收到IndexError: list index out of range错误。

您的问题是您使用的+运算符连接了对象:

>>> [my_list[my_indices[0]] + my_list[my_indices[1]]]
['bd']