如何在python中将字符串的索引转换为整数?

时间:2014-09-26 03:50:25

标签: python string list type-conversion character

假设我将一个字符串'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

似乎我的问题是我正在尝试将字符串(字符)的索引转换为整数。有没有办法将字符串的索引转换为整数?如果没有,我还能怎么做呢?

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

的无效转换