在 Python 中拆分列表的元素

在 Python 中拆分列表的元素

Split the elements of a list in Python

要在 Python 中拆分列表的元素:

  1. 使用列表理解来遍历列表。
  2. 在每次迭代中,调用split()方法来拆分每个字符串。
  3. 返回要保留的每个字符串的部分。
主程序
my_list = ['a-1', 'b-2', 'c-3', 'd-4'] # ✅ split each element in list and keep first part result_1 = [item.split('-', 1)[0] for item in my_list] print(result_1) # 👉️ ['a', 'b', 'c', 'd'] # ✅ split each element in list into nested lists result_2 = [item.split('-') for item in my_list] print(result_2) # 👉 [['a', '1'], ['b', '2'], ['c', '3'], ['d', '4']] # ✅ split each element in list and flatten list result_3 = [item.split('-') for item in my_list] result_3_flat = [item for l in result_3 for item in l] print(result_3_flat) # 👉️ ['a', '1', 'b', '2', 'c', '3', 'd', '4'] # ✅ split specific element in list result_4 = my_list[0].split('-') print(result_4) # 👉️ ['a', '1']

第一个示例显示如何拆分列表中的每个元素并仅保留第一部分。

主程序
my_list = ['a-1', 'b-2', 'c-3', 'd-4'] # ✅ split each element in list and keep first part result_1 = [item.split('-', 1)[0] for item in my_list] print(result_1) # 👉️ ['a', 'b', 'c', 'd']

我们使用列表理解来迭代列表。

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

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

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

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

我们传递1maxsplit参数仅拆分一次字符串并获取第一项。

如果您需要在每次出现分隔符时拆分字符串,请删除对str.split().

主程序
# 👇️ ['a', 'b.c.d'] print('a.b.c.d'.split('.', 1)) # 👈️ with maxsplit set to 1 # 👇️ ['a', 'b', 'c', 'd'] print('a.b.c.d'.split('.')) # 👈️ without maxsplit

第二个示例将列表中的每个元素拆分为嵌套列表。

主程序
my_list = ['a-1', 'b-2', 'c-3', 'd-4'] # ✅ split each element in list into nested lists result_2 = [item.split('-') for item in my_list] print(result_2) # 👉 [['a', '1'], ['b', '2'], ['c', '3'], ['d', '4']]

您还可以在拆分每个字符串后展平列表。

主程序
my_list = ['a-1', 'b-2', 'c-3', 'd-4'] # ✅ split each element in list and flatten list result_3 = [item.split('-') for item in my_list] result_3_flat = [item for l in result_3 for item in l] print(result_3_flat) # 👉️ ['a', '1', 'b', '2', 'c', '3', 'd', '4']

result_3变量是一个二维列表,因此我们不得不使用另一个列表推导式来展平它。

您可以通过使用for循环获得相同的结果。

主程序
my_list = ['a-1', 'b-2', 'c-3', 'd-4'] # ✅ split each element in list and flatten list result_3 = [item.split('-') for item in my_list] print(result_3) # 👉️ [['a', '1'], ['b', '2'], ['c', '3'], ['d', '4']] result_3_flat = [] for l in result_3: for item in l: result_3_flat.append(item) # 👇️ ['a', '1', 'b', '2', 'c', '3', 'd', '4'] print(result_3_flat)

我们使用嵌套for循环来展平列表列表。

for循环用于迭代二维列表。

为了访问嵌套列表中的项目,我们需要一个嵌套循环。 for

在每次迭代中,我们将每个列表项附加到一个空列表中。

如果需要拆分列表项,请在调用该split()方法之前访问特定索引处的列表。

主程序
my_list = ['a-1', 'b-2', 'c-3', 'd-4'] # ✅ split specific element in list result_4 = my_list[0].split('-') print(result_4) # 👉️ ['a', '1'] print(result_4[0]) # 👉️ a print(result_4[1]) # 👉️ 1 # 👇️ ['b', '2'] print(my_list[1].split('-'))

Python 中的索引从零开始,因此列表中的第一项的索引为
0,第二项的索引为,依此类推1

发表评论