python - (关于基数排序)我无法理解教授的代码
问题描述
我无法理解这条线的含义:
queue = [list() for _ in range(k)]
这是完整的代码:
for i in range(1, maxlen+1):
queue = [list() for _ in range(k)]
for word in words:
word += (maxlen - len(word)) * ' '
if ord(word[-i]) >= 97:
queue[ord(word[-i]) - (97)].append(word)
else:
queue[0].append(word)
words = sum(queue, [])
for i in range(len(words)):
words[i] = words[i].replace(" ", "")
print(words)
解决方案
这只是创建一个k
空列表的变量次数的列表,因此请参见示例:
a=3
print([list() for i in range(a)])
输出:
[[], [], []]
推荐阅读
- primefaces - Primefaces升级期间jQuery未定义
- java - JDK 中的 StringBuilder 与 "+" >= 9
- r - R - 回归系数的显着性检验
- react-native - 无法在 React-navigation 的 useFocusEffect 内实现回调
- php - 为什么用ajax再次填充数据时dataTable的分页不起作用?
- python - 如何从 numpy 数组创建 NxM 矩阵?
- node.js - 无法使用 EJS 模板在 express 节点 js 中显示对象数组中的值
- csv - 如何从 perl 脚本创建和下载 csv 文件
- python - 如何组合两个数据框替换空值
- python - 将列表中的内容合并到嵌套字典中