python - Python - 为值和范围列表设置 for 或 while 循环
问题描述
我是 python 新手,很抱歉问这个简单的问题。我有一组 ID 和一系列 ID。我的 ID 看起来像这样,
IDs = [1,3:7,9,12:15]
我想要一个用于 ID 的 for/while 循环并打印 ID,
例如:
for ID in IDs:
print(ID)
我希望打印为:1,3,4,5,6,7,9,12,13,14,15。可能吗?在当前形式的 ID 和 for 循环中,它会在3:4
.
谢谢!
解决方案
您提供的输入不是有效的语法。我的回答假设您可以将输入修改为有意义的内容,例如[1, '3:7', 9, '12:15']
.
它不是防弹的,但我相信它会引导你朝着正确的方向前进。
IDs = [1, '3:7', 9, '12:15']
output = []
for element in IDs:
if isinstance(element, int):
output.append(element)
else:
start, end = map(int, element.split(':'))
output.extend(range(start, end + 1))
print(output)
# [1, 3, 4, 5, 6, 7, 9, 12, 13, 14, 15]
推荐阅读
- python - 为什么我的字典没有正确附加?Python
- javascript - How to use array string in jQuery ajax call?
- c# - Player unwanted rotation on the Y axis
- tensorflow - BERT 如何利用 TPU 内存?
- html - Smalltalk Seaside - 如何更改按钮的大小?
- javascript - JS函数不改变框颜色
- android - 将我的应用程序放在前面后,ShowMessage 抛出异常“在 onSaveInstanceState 之后无法执行此操作”
- python - 从字符串中消除数字并保留多个字符
- python - 基于不同模型的模型顺序
- docker-compose - Docker compose:工作目录需要是绝对路径