【问题标题】:How can I convert the index of a string to an integer in python?如何在python中将字符串的索引转换为整数?
【发布时间】:2014-09-26 03:50:25
【问题描述】:

假设我将字符串“123,456”分配给某个变量 x。现在,我想把这个字符串变成一个列表(在下面的块中命名为计数器),使其采用 [1, 2, 3, ,, 4, 5, 6] 的形式。我尝试使用下面显示的 while 循环将字符串 indeces 分配给列表,但我继续收到错误消息,提示“int 对象不支持项目分配”。位置的初始值为 0。

while position < len(x):
    if x[position] == ',':
        counter[position] = x[position]
    else:
        counter[position] = int(x[position])
        position += 1

看来我的问题是我正在尝试将字符串(字符)的索引转换为整数。有没有办法将字符串的索引转换为整数?如果没有,我还能如何解决这个问题?

【问题讨论】:

  • 如果position是一个字符串,那么您可以使用int(position)position转换为一个整数。
  • 位置是一个整数。如果我没记错的话,x[position] 是一个字符。当我尝试将字符转换为整数时,我的错误被引发了。

标签: python string list type-conversion character


【解决方案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 的无效转换

【讨论】:

  • 然后我可以将列表中的每个元素转换为整数正确吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
相关资源
最近更新 更多