映射列表并在 Python 中拆分每个字符串

映射列表并在 Python 中拆分每个字符串

Map over list and split each string in Python

要映射到列表并拆分每个字符串:

  1. 使用列表理解来遍历列表。
  2. 在每次迭代中,调用split()列表项上的方法。
  3. 结果将是一个二维列表。
主程序
my_list = ['a_1', 'b_2', 'c_3'] new_list = [item.split('_') for item in my_list] print(new_list) # 👉️ [['a', '1'], ['b', '2'], ['c', '3']] my_flat_list = [x for xs in new_list for x in xs] print(my_flat_list) # 👉️ ['a', '1', 'b', '2', 'c', '3']
列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。

在每次迭代中,我们调用split()元素上的方法。

如果需要,您可以选择展平二维列表。

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

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

姓名 描述
分隔器 在每次出现分隔符时将字符串拆分为子字符串
最大分裂 最多maxsplit完成拆分(可选)

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

或者,您可以使用该map()功能。

主程序
my_list = ['a_1', 'b_2', 'c_3'] new_list = list( map(lambda item: item.split('_'), my_list) ) print(new_list) # 👉️ [['a', '1'], ['b', '2'], ['c', '3']] my_flat_list = [x for xs in new_list for x in xs] print(my_flat_list) # 👉️ ['a', '1', 'b', '2', 'c', '3']

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

但是,这比使用列表推导式更难阅读。