在 Python 中将字符串转换为整数列表

Python 中将字符串转换为整数列表:

  1. 使用 str.split() 方法将字符串拆分为字符串列表。
  2. 使用 map() 函数将每个字符串转换为整数。
  3. 使用 list() 类将地图对象转换为列表。
# ✅ Convert comma-separated string to list of integers
my_str = '2,4,8'

result = list(map(int, my_str.split(',')))
print(result)  # ?️ [2, 4, 8]

# ------------------------------------------------

# ✅ Convert space-separated string to list of integers

my_str = '2 4 8'

result = list(map(int, my_str.split(' ')))
print(result)  # ?️ [2, 4, 8]

# ------------------------------------------------
# ✅ Convert string of numbers (no separator) to list of integers

my_str = '248'

result = [int(d) for d in my_str]
print(result)  # ?️ [2, 4, 8]

在 Python 中将字符串转换为整数列表

如果字符串中的整数用另一个定界符分隔,例如 连字符,将包含连字符的字符串传递给 str.split() 方法。

第一步是使用 str.split() 方法将字符串拆分为列表。

my_str = '2,4,8'
print(my_str.split(','))  # 👉️ ['2', '4', '8']


my_str = '2 4 8'
print(my_str.split(' '))  # 👉️ ['2', '4', '8']

str.split() 方法使用定界符将字符串拆分为子字符串列表。

该方法采用以下 2 个参数:

  • separator 在每次出现分隔符时将字符串拆分为子字符串
  • maxsplit 最多完成 maxsplit 拆分(可选)

下一步是使用 map() 函数将列表中的每个字符串转换为整数。

my_str = '2,4,8'

result = list(map(int, my_str.split(',')))
print(result)  # 👉️ [2, 4, 8]

map() 函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。

在每次迭代中,我们将字符串传递给 int() 类以将其转换为整数。

map() 函数返回一个地图对象,因此我们必须使用 list() 函数将其转换为列表。

使用 map() 函数的替代方法是使用列表推导。

my_str = '2,4,8'

result = [int(d) for d in my_str.split(',')]
print(result)  # 👉️ [2, 4, 8]

列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。

如果我们有一个包含没有分隔符的数字的字符串,请使用列表推导将每个数字转换为整数。

my_str = '248'

result = [int(d) for d in my_str]
print(result) # 👉️ [2, 4, 8]

我们使用列表推导来迭代字符串列表,并使用 int() 函数将每个字符串转换为整数。