在 Python 中用逗号分割字符串

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

# ✅ 在每次出现逗号时拆分字符串
my_str = 'one,two,three,four'

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

# ✅ 在每个空格或逗号上拆分字符串
my_str_2 = 'one two,three four five'
my_list_2 = my_str_2.replace(',', ' ').split(' ')

print(my_list_2)  # 👉️ ['one', 'two', 'three', 'four', 'five']

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

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

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

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

my_str = 'one'

my_list = my_str.split(',')

# 👇️ ['one']
print(my_list)

如果字符串中逗号分隔的单词之间有空格并且需要删除它,请使用 str.strip() 方法。

my_str = 'one , two ,  three   ,four'

my_list = [item.strip() for item in my_str.split(',')]
print(my_list)  # 👉️ ['one', 'two', 'three', 'four']

我们使用列表推导从每个字符串中删除前导和尾随空格。

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

str.strip 方法返回删除了前导和尾随空格的字符串副本。

如果我们的字符串以逗号开头或结尾,将在列表中获得空字符串元素。

my_str = ',one,two,three,four,'

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

我们可以使用 filter() 函数从列表中删除任何空字符串。

my_str = ',one,two,three,four,'

my_list = list(filter(None, my_str.split(',')))
print(my_list)  # 👉️ ['one', 'two', 'three', 'four']

过滤器函数将一个函数和一个迭代器作为参数,并从迭代器的元素构造一个迭代器,函数为其返回一个真值。

如果为函数参数传递 None ,则可迭代的所有值为假的元素都将被删除。

所有不真实的值都被认为是假的。 Python 中的假值是:

  • 定义为虚假的常量:None 和 False。
  • 任何数字类型的 0(零)
  • 空序列和集合:””(空字符串)、()(空元组)、[](空列表)、{}(空字典)、set()(空集)、range(0)(空范围)。

注意 filter() 函数返回一个过滤器对象,所以我们必须使用 list() 类将过滤器对象转换为列表。

如果我们需要在出现逗号和另一个字符时拆分字符串,请将逗号替换为另一个字符并在该字符上拆分。

my_str = 'one,two,three,four'


my_str_2 = 'one two,three four five'
my_list_2 = my_str_2.replace(',', ' ').split(' ')

print(my_list_2)  # 👉️ ['one', 'two', 'three', 'four', 'five']

我们用空格替换所有出现的逗号,并在每个空格上拆分字符串。

我们可以通过用逗号替换每个出现的空格并在每个逗号上拆分来获得相同的结果。

my_str = 'one,two,three,four'

my_str_2 = 'one two,three four five'
my_list_2 = my_str_2.replace(' ', ',').split(',')

print(my_list_2)  # 👉️ ['one', 'two', 'three', 'four', 'five']
免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 在 Python 中用逗号分割字符串