如何使用索引列表从列表中删除元素?

时间:2016-07-28 22:00:09

标签: python

如果我有以下元素列表:

list = ['one', 'two', 'three', 'four']

我有另一个列表,其中包含我需要从上面的列表中删除的索引:

to_delete = [0,2]

如何使用listto_delete删除这些元素?使用for循环不起作用,因为很明显,当您从列表中删除一个元素时,每个剩余元素的索引都会发生变化。

我该怎么办?

2 个答案:

答案 0 :(得分:4)

您可以将enumerate与条件列表推导结合使用,以生成一个新列表,其中包含my_list中不在to_delete索引位置的每个my_list = ['one', 'two', 'three', 'four'] to_delete = [0,2] new_list = [val for n, val in enumerate(my_list) if n not in to_delete] >>> new_list ['two', 'four'] 元素。

<bean id="cacheManager"
    class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <property name="configLocation" value="classpath:/spring/ehcache.xml" />
    <property name="shared" value="true" />
</bean>

<!-- JMX for ehcache -->

<bean id="managementService" class="net.sf.ehcache.management.ManagementService"
    init-method="init" destroy-method="dispose">

    <constructor-arg ref="cacheManager" />
    <constructor-arg ref="mbeanServer" />
    <constructor-arg index="2" value="true" />
    <constructor-arg index="3" value="true" />
    <constructor-arg index="4" value="true" />
    <constructor-arg index="5" value="true" />

</bean>

<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
    <property name="locateExistingServerIfPossible" value="true" />
</bean>

答案 1 :(得分:2)

使用列表理解过滤:

DB.Execute "UPDATE tblDEBIT20 SET CONTROL = '" & strControl & "' WHERE DEBIT_NUM = '" & strDebit & "'"