Python 从字符串数组生成字典顺序输出

标签 python python-3.x lexicographic lexicographic-ordering

我正在开发一个 Python(3) 程序,其中我必须编写一个函数来生成输出,该输出将是按字典顺序排列的字符串列表。

这是一个例子: 如果我们传递一个类似: ??2??00 的字符串,我将其称为 pattern 那么它必须用整数替换问号,例如 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 中,如果枚举 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 从字符串数组生成字典顺序输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54733435/

相关文章:

python - python distutils可以编译CUDA代码吗?

python - Django 中的 HttpResponseRedirect 没有重定向到页面views.py 文件

python-3.x - 根据蜘蛛属性更新scrapy设置

java - 如何按字典顺序循环特定长度的所有可能 vector ?

c++ - 如何对(任意)POD C++ 结构施加词典顺序?

python - Matplotlib 有时会向图表添加比应有的更多绘图

Python3 字符串编码混淆输出

python - Snowflake中的异步查询执行: SQL execution canceled

python-3.x - 语音事件检测

java - 从 trie 树中检索字典顺序最小的字符串