假设我将一个字符串'123,456'分配给某个变量x。现在,我想将此字符串转换为列表(在下面的块中命名为counter),使其采用[1,2,3 ,, ,, 4,5,6]形式。我试图使用下面显示的while循环将字符串indeces分配给列表,但我继续得到一个错误,说“int object不支持项目赋值”。位置的初始值为0.
while position < len(x):
if x[position] == ',':
counter[position] = x[position]
else:
counter[position] = int(x[position])
position += 1
似乎我的问题是我正在尝试将字符串(字符)的索引转换为整数。有没有办法将字符串的索引转换为整数?如果没有,我还能怎么做呢?
答案 0 :(得分:1)
您可以将字符串放入list
>>> s = '123,456'
>>> list(s)
['1', '2', '3', ',', '4', '5', '6']
如果你想将它们转换为整数(那个逗号除外)你可以做类似的事情:
>>> out = []
>>> for x in list(s):
... try:
... out.append(int(x))
... except ValueError:
... out.append(x)
...
>>> out
[1, 2, 3, ',', 4, 5, 6]
ValueError
抓住了,
到int