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 个参数:
- separator 在每次出现分隔符时将字符串拆分为子字符串
- maxsplit 最多完成 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']
将逗号分隔的字符串转换为整数列表:
- 使用 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() 类将匹配的字符串转换为整数。
如果字符串中的所有字符都是数字并且至少有 1 个字符,则 str.isdigit 方法返回 True,否则返回 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 = ',one,two,three,four,'
# 👇️ ['', 'one', 'two', 'three', 'four', '']
print(my_str.split(','))
我们可以使用列表推导从列表中排除空字符串。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。