映射列表并在 Python 中拆分每个字符串
Map over list and split each string in Python
要映射到列表并拆分每个字符串:
- 使用列表理解来遍历列表。
- 在每次迭代中,调用
split()
列表项上的方法。 - 结果将是一个二维列表。
主程序
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()函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。
但是,这比使用列表推导式更难阅读。