python - Python从字符串数组生成字典顺序输出
问题描述
我正在开发一个 Python(3) 程序,在该程序中我必须编写一个函数来生成一个输出,该输出将是按字典顺序排列的字符串列表。
这是一个例子:如果我们传递一个字符串,例如:??2??00
我称之为 apattern
那么它必须用一个整数替换问号,例如1
一个名为的关键字scheule
表示数量?
并生成如下所示的输出:
0020100
0021000
0120000
1020000
而且,这就是我尝试过的:所以,如果pattern= '??2??00'
然后scheule=4
:
for ind, p in enumerate(pattern):
if p == '?':
s = pattern[ind].replace('?', str(scheule))
available_schedule.append(s)
break
else:
continue
它不会生成所需的输出,但它会生成以下内容:
['1', '2', '2', '3', '4', '4', '4']
解决方案
在 Python 中,如果您枚举 a,str
您将获得一个字符列表(长度为 1 的字符串)。从而输出。
str.replace()
如果在字符串中没有找到该模式,则不会执行任何操作,否则将替换所有出现的模式。
此片段产生所需的输出:
pattern = '??2??00'
pattern_pos = [i for i, c in enumerate(pattern) if c == '?']
schedule = '1'
result = pattern.replace('?', '0')
for i in reversed(pattern_pos):
print(''.join([result[:i], schedule, result[i+1:]]))
输出:
0020100
0021000
0120000
1020000
推荐阅读
- python-3.x - ValueError:使用自定义回调绘制卷积层特征图时,函数模型的输出张量必须是 TensorFlow `Layer` 的输出
- java - grails GORM多个数据源不适用于域实例
- java - Unixtime 倒计时
- c - 有人能解释一下这个简单的c代码会做什么吗?
- service - Angular: Asyncvalidator best practice
- bash - export not modifying global variables
- javascript - Discord.js v13 反应角色
- amazon-web-services - 恢复已删除的 AWS Sagemaker Jupyter Notebook
- javascript - 如何根据Vue.js中的其他选择从一个选择中禁用选择选项?
- django - Django / GeoDjango 在 Ubuntu / Dokku 上找不到 GDAL 库