有没有办法增加字符串变量中的数值? [Python]

问题描述 投票:0回答:4

我正在尝试一些网络抓取,这需要循环遍历一些具有字符串格式属性的元素。但字符串是一个数值,它会在整个元素中增加。

data_id="1"

有没有办法将 data-id 的值增加到“2”到“3”等,同时保持字符串格式?

python string
4个回答
5
投票

首先,将字符串转换为整数,您可以使用内置的

int
来实现:

int(data_id)

然后将该整数加 1:

int(data_id) + 1

最后,将新整数转换回字符串,您可以使用内置的

str
来实现:

str(int(data_id) + 1)

例如

>>> data_id = "1"
>>> data_id = str(int(data_id) + 1)
>>> data_id
'2'

1
投票

我将在@rdas和@Jax Teller代码的评论中解释响应:

    1. 首先,将字符串转换为整数值,为此我们使用
      int(my_string)
      ,假设您将结果存储在名为 int_val 的变量中,如
      int_val = int(my_string)
      ,
    1. 然后你增加整数值
      int_val = int_val + 1
    1. 最后,使用 str(...) 将结果转换回字符串:
      my_str=str(int_val)
my_string = "1"
int_val = int(my_string)
int_val = int_val + 1
my_string = str(int_val)

这些步骤被压缩在一行中,如

my_str = str(int(my_str)+1)
祝你好运。


0
投票

类似下面的东西

def increment_str(string):
    return str(int(string) + 1)


print(increment_str("12"))

输出

13

0
投票

我建议首先使用整数变量,并根据需要将其转换为字符串:

data_id = 1

fetch_element_(data_id=str(data_id))

data_id += 1

fetch_element_(data_id=str(data_id))

现在,您可以使用 for 循环和内置

range
函数来简化该代码:

for data_id in range(1,4):  # This will loop through the numbers [1, 2, 3]
    fetch_element_(data_id=str(data_id))

当您的第一个 id 在开头以字符串形式给出时,您可以使用

int
构造函数将其转换为 int,如其他答案中所建议的:

data_id = int("1")  # or int(some_string_variable)
© www.soinside.com 2019 - 2024. All rights reserved.