如果我有以下元素列表:
list = ['one', 'two', 'three', 'four']
我有另一个列表,其中包含我需要从上面的列表中删除的索引:
to_delete = [0,2]
如何使用list
从to_delete
删除这些元素?使用for
循环不起作用,因为很明显,当您从列表中删除一个元素时,每个剩余元素的索引都会发生变化。
我该怎么办?
答案 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 & "'"