我的任务是将字符串 'AAAABBBCCDAABBB'
放入这样的列表中: ['A','B','C','D','A','B']
我现在正在为此工作 2 个小时,但我无法找到解决方案。到目前为止,这是我的代码:
list = []
string = 'AAAABBBCCDAABBB'
i = 1
for i in string:
list.append(i)
print(list)
for element in list:
if list[element] == list[element-1]:
list.remove(list[element])
print(list)
我是编程新手,总是出现错误“TypeError: list indices must be integers or slice, not str”…
我已经改变了比较
if list[element] == list[element-1]
至
if list[element] is list[element-1]
但错误保持不变。我已经用谷歌搜索了几次,但总有一些不需要字符串格式的列表,但我需要它(对吗?)。
感谢您的帮助! 无抗体
原文由 NoAbL 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,不要在内置 python 语句或数据结构之后命名变量,例如
list
,tuple
甚至是您导入的模块的名称,这也适用于文件。例如命名你的文件socket.py
并导入socket
模块肯定会导致错误(我会让你自己尝试)在你的代码中
element
是一个字符串,可迭代的索引必须是数字而不是字符串,所以你可以告诉python给我位置 2 的项目。
但是现在你想说给我位置
A
的项目,这在英语中甚至是无效的,更不用说编程语言了。你应该使用
enumerate
函数,如果你想在循环遍历它时获取可迭代对象的索引,或者你可以这样做并循环遍历列表的长度范围,无论如何你都不需要这些元素。
这是您想要做的更简单的方法