python - 将项目附加到不带 [ ] 括号的列表
问题描述
我正在尝试编写 Vigenere 密码。我正在构建一个二维列表
[[a,b,c,d], [b,c,d,a], [c,d,a,b], [d,a,b,c]]
我让它工作除了我从前面切片并移动到后面的部分以[ ]
括号结束。例如。
[[a,b,c,d], [b,c,d,[a]], [c,d,[a,b]], [d,[a,b,c]]
我的代码:
维吉尼亚密码
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
vigenere = []
for letter in alphabet:
if letter == 'a': #ie if its the start, no need for anything fancy
vigenere.append(alphabet[alphabet.index(letter):len(alphabet)])
else:
slicer = alphabet[alphabet.index(letter):len(alphabet)]
slicer.append(alphabet[0:alphabet.index(letter)])
vigenere.append(slicer)
print(vigenere)
解决方案
在您的else
块中,slicer.append(alphabet[0:alpha.index(letter)])
将在列表中附加一个列表slicer
,这是您遇到问题的地方。改为使用slicer.extend(...)
。
推荐阅读
- xpath - 如何获取作为另一个 HTML 元素的属性值的 HTML 元素值?
- ios - 将 Cookie 存储在钥匙串中
- javascript - 陷入 eslint 错误,即单独地,应避免循环以支持数组迭代
- apache-spark - 如何使用 Spark 创建从 Kafka 到 Hdfs 的数据湖 - 存储在自定义目录中?
- sql-server - 无法保存对 INSERTed 记录的更改
- reactjs - reactjs中如何将数据从子组件发送到父组件
- python - 如何在 KERAS 中计算 PSNR 指标
- python - 什么是所谓的“缩小”多边形的操作?
- android - Clang 分析器缺少内存泄漏
- php - JSON 不发送到文件