将逗号分隔的字符串转换为 Python 中的列表

在 Python 中将逗号分隔的字符串转换为列表

Convert a comma-separated string to a List in Python

使用该str.split()方法将逗号分隔的字符串转换为列表,例如my_list = my_str.split(','). str.split()方法将在每次出现逗号时拆分字符串,并返回包含结果的列表。

主程序
my_str = 'one,two,three,four' # ✅ convert comma-separated string to list my_list = my_str.split(',') print(my_list) # 👉️ ['one', 'two', 'three', 'four'] # ---------------------------------- my_str = '1,2,3,4' # ✅ convert comma-separated string to list of integers my_list = [int(item) if item.isdigit() else item for item in my_str.split(',')] print(my_list) # 👉️ [1, 2, 3, 4] # ---------------------------------- # 👇️ If your string has leading or trailing commas my_str = ',one,two,three,four,' my_list = [item for item in my_str.split(',') if item] print(my_list) # 👉️ ['one', 'two', 'three', 'four']

我们使用该str.split()方法将逗号分隔的字符串转换为列表。

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

主程序
my_str = 'one,two,three,four' my_list = my_str.split(',') print(my_list) # 👉️ ['one', 'two', 'three', 'four']

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

姓名 描述
分隔器 在每次出现分隔符时将字符串拆分为子字符串
最大分裂 最多maxsplit完成拆分(可选)
当没有分隔符传递给该str.split()方法时,它会将输入字符串拆分为一个或多个空白字符。

如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。

主程序
print('one'.split(',')) # 👉️ ['one']

如果您的字符串具有不同的定界符,请务必调整分隔符。

主程序
# 👇️ comma and space delimiter my_str = 'one, two, three, four' my_list = my_str.split(', ') print(my_list) # 👉️ ['one', 'two', 'three', 'four']

在 Python 中将逗号分隔的字符串转换为整数列表

将逗号分隔的字符串转换为整数列表:

  1. 使用该str.split()方法在每次出现逗号时拆分字符串。
  2. 使用列表理解来迭代字符串列表。
  3. 使用int()该类将每个字符串转换为整数。
主程序
my_str = '1,2,3,4' my_list = [int(item) if item.isdigit() else item for item in my_str.split(',')] print(my_list) # 👉️ [1, 2, 3, 4]

我们使用该str.split方法在每次出现逗号时拆分字符串,并使用列表理解来遍历列表。

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

在每次迭代中,我们检查当前列表项是否为数字,并使用
int()该类将匹配的字符串转换为整数。

str.isdigit
方法返回如果
字符串True中的所有字符都是数字并且至少有 1 个字符,否则False返回。

您不必检查是否确定该字符串只包含逗号分隔的数字。

主程序
my_str = '1,2,3,4' my_list = [int(item) for item in my_str.split(',')] print(my_list) # 👉️ [1, 2, 3, 4]

如果您的字符串包含前导或尾随逗号,请使用列表理解从列表中排除空字符串元素。

主程序
my_str = ',one,two,three,four,' my_list = [item for item in my_str.split(',') if item] print(my_list) # 👉️ ['one', 'two', 'three', 'four'] my_str = ',1,2,3,4,' my_list = [int(item) for item in my_str.split(',') if item] print(my_list) # 👉️ [1, 2, 3, 4]

示例中的字符串有一个前导和尾随逗号,因此按逗号拆分将返回空字符串元素。

主程序
my_str = ',one,two,three,four,' # 👇️ ['', 'one', 'two', 'three', 'four', ''] print(my_str.split(',')) # ----------------------------------------- my_str = ',1,2,3,4,' print(my_str.split(',')) # 👉️ ['', '1', '2', '3', '4', '']

您可以使用列表理解从列表中排除空字符串。