【发布时间】:2016-07-03 18:45:55
【问题描述】:
使用字符串ABCDEFGHIJKLM 我正在尝试实现以下目标:
ABCDEFGHIJKLM
0123456789012
第一个if 语句有效,但else 语句中断:
position.append(str(x[1]))TypeError:'int'对象不可下标
这是代码:
number = []
count = 0
for x in range(string):
if count <= 9:
number.append(str(x))
else:
number.append(str(x[1]))
count = count+1
number = ''.join(map(str, number))
print(number)
我该如何解决这个问题?
【问题讨论】:
-
另外,字符串(或python中的任何可索引对象)的第一个字符应该是
str(x)[0],而不是str(x)[1])。 -
@M.T 我认为 OP 想要第二个字符。
-
它应该是 str(x)[-1]。所以你得到最后一个字符。这样它就可以使用超过 2 位数字
-
谢谢大家,Idos 的回答修复了我的语法疏忽。 julivico,绝佳的选择。干杯
标签: python string list char append