在 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 中将逗号分隔的字符串转换为整数列表
将逗号分隔的字符串转换为整数列表:
- 使用该
str.split()
方法在每次出现逗号时拆分字符串。 - 使用列表理解来迭代字符串列表。
- 使用
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', '']
您可以使用列表理解从列表中排除空字符串。