python - 为什么在python中拆分后列表中的下一个项目消失了
问题描述
我有一份清单。然后,我想检测列表中的任何“和”,然后我应该在“和”之间拆分项目并将两者放入一个新列表中。
问题是,在我进行拆分后,下一个项目将从列表中消失。例如,我有一个列表:
liss1=['a','b','c','d and e','f','g','h']
拆分并删除当前项后,下一项“f”从列表中消失,如下所示:
item 0 a
item 1 b
item 2 c
item 3 d and e
item 4 g
item 5 h
Unique_liss ['a', 'b', 'c', 'd ', ' e', 'g', 'h']
这是我的代码:
liss1=['a','b','c','d and e','f','g','h']
Unique_liss=[]
for i,item in enumerate(liss1):
print('item',i,item)
if 'and' in item:
liss1.remove(item)
split_elem_dan = item.split('and')
for s in split_elem_dan:
Unique_liss.append(s)
else:
Unique_liss.append(item)
print()
print('Unique_liss',Unique_liss)
有没有人知道如何改进?这样,下一个项目将保留在列表中
解决方案
改变
for i,item in enumerate(liss1):
至
for i,item in enumerate(liss1.copy()):
推荐阅读
- mongodb - Mongodb:将最小的 mongodb 集群部署到 docker swarm
- azure - 持久存储 Azure 容器
- python - batch_size 和运行时间的关系
- python-3.7 - 用于初始化数据类字段元数据的装饰器
- sql - 如果不存在,如何添加列并更新值
- javascript - Firebase 实时数据库 - 多个顺序读取和写入操作,无需嵌套承诺
- javascript - 如何在cordova函数中调用角度JavaScript函数
- r - 从文件中使用 read.table 时看不到小数
- android - Android 倾斜电视在启动时崩溃
- jquery - 使用 dataTables 和 Ajax 刷新数据表