python - 带有if else跳过最后一项Python的for循环
问题描述
我正在尝试创建一个仅包含初始列表数量的列表。我创建了一个代码来检索数字,但它跳过了最后一项。我不明白为什么会这样。谢谢 :)
list1=['a13','b23','c33','d43'] #a13=item a,1,3 = subitems
list2=[]
list3=[]
for item in list1:
for subitem in item:
if subitem.isdigit()==True:
list2.append(subitem)
if len(list2)<=2:
join_digit=''.join(list2)
else:
list3.append(join_digit)
list2=list2[-1:]
print(list3)
输出:
['13','23','33']
预期输出:
['13','23','33','43']
解决方案
您在list3
处理下一个项目时追加;最后一项已处理,但从未附加到list3
.
可能需要删除带有if
/的整个逻辑;相反,在内部循环else
之外做一些事情:for
list1 = ['a13', 'b23', 'c33', 'd43'] #a13=item a,1,3 = subitems
list3 = []
for item in list1:
list2 = []
for subitem in item:
if subitem.isdigit():
list2.append(subitem)
joined_digits = ''.join(list2)
list3.append(joined_digits)
print(list3)
(我也省略了== True
,这里是多余的。)
推荐阅读
- javascript - window.screenX 正在使用所有监视器进行计算,如何获取当前监视器中窗口的 x 位置
- wordpress - Wordpress Hosting 导入错误 Conflit Plugin Dokan
- java - 库损坏了类路径?
- c++ - C++ Webkit GTK,如何禁用跨源策略?
- dependency-injection - Angular 从 8 升级到 9,无法解析任何可注射的所有参数
- javascript - 如何在 React-Native 中动态创建复选框
- php - 通过 env Facade 访问 .env 的内容
- c++ - windows下通过system()调用多个命令不起作用
- php - 单选按钮数组帖子
- css - 如何使用样式化组件创建共享样式?