【问题标题】:Use integer operator on string from index [duplicate]对索引中的字符串使用整数运算符[重复]
【发布时间】:2020-10-07 21:17:20
【问题描述】:

在此代码中

x = '123'

我怎样才能将 5 添加到第二个索引。所以 x 将是'173'

【问题讨论】:

  • 例如'123'9 的结果是什么?
  • 那会'1113'
  • 这能回答你的问题吗? stackoverflow.com/a/22149018
  • 是的,是的。我以为我是唯一有这个问题的人,我想它已经得到了回答。

标签: python


【解决方案1】:
x = '123'
n = 5

result = x[:1] + str(int(x[1]) + n) + x[2:]
print(result)

打印:

173

对于n=9

1113

【讨论】:

    【解决方案2】:

    将其拆分为一个列表,尝试将它们转换为整数或浮点数,然后进行数学运算。

    x = "123"
    x = list(x)
    
    for i in range(0, len(x)):
        try:
            x[i] = int(x[i])
        except:
            x[i] = x[i]
    
    x[1] += 5
    print(x)
    

    它返回 [1.0, 7.0, 3.0]。

    【讨论】:

    • 为什么浮动而不是整数?
    • @wjandrea 哦。我试图防止错误,但没有奏效。
    【解决方案3】:

    将字符串拆分为列表,修改所需索引处的元素,然后将列表重新连接为字符串。

    x = '123'
    i = 1
    n = 5
    
    y = list(x)
    y[i] = str(int(y[i]) + n)
    print(''.join(y))  # -> 173
    

    基于scvalex's answerChanging one character in a string in Python

    【讨论】:

      猜你喜欢
      • 2012-12-31
      • 2012-03-22
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多