python循环删除列表中元素_如何在python中有效地删除循环中的列表元素

我有一个代码如下.

for item in my_list:

print(item[0])

temp = []

current_index = my_list.index(item)

garbage_list = creategarbageterms(item[0])

for ele in my_list:

if my_list.index(ele) != current_index:

for garbage_word in garbage_list:

if garbage_word in ele:

print("concepts: ", item, ele)

temp.append(ele)

print(temp)

现在,我想在它被附加到temp时从mylist中删除ele(因此,它不会在主循环中被处理,因为它是一个垃圾字).

我知道,当它处于循环中时,从列表中直接删除元素是不好的.因此,我有兴趣知道是否有任何有效的方法来做到这一点?

例如,如果mylist如下;

mylist = [["tim_tam", 879.3000000000001], ["yummy_tim_tam", 315.0], ["pudding", 298.2],

["chocolate_pudding", 218.4], ["biscuits", 178.20000000000002], ["berry_tim_tam", 171.9],

["tiramusu", 158.4], ["ice_cream", 141.6], ["vanilla_ice_cream", 122.39999999999999]]

第一次迭代

对于第一个元素tim_tam,我得到了诸如yummy_tim_tam和berry_tim_tam之类的垃圾字.所以他们会被添加到我的临时列表中.

现在我想从列表中删除yummy_tim_tam和berry_tim_tam(因为它们已经添加到temp),因此它不会从头开始执行.

第二次迭代

现在,由于yummy_tim_tam不再在列表中,这将执行布丁.对于布丁,我得到了一组不同的垃圾词,如chocolate_pudding,饼干,提拉米.因此,它们将被添加到temp并将被删除.

第3次迭代

ice_cream将被选中.这个过程将继续下去.

我的最终目标是获得如下三个单独的列表.

["tim_tam", 879.3000000000001], ["yummy_tim_tam", 315.0], ["berry_tim_tam", 171.9] , ["pudding", 298.2]

["chocolate_pudding", 218.4], ["biscuits", 178.20000000000002], ["tiramusu", 158.4]

["ice_cream", 141.6], ["vanilla_ice_cream", 122.39999999999999]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值