如何在 Python 中加入特定的列表元素

在 Python 中加入特定的列表元素

How to join specific list elements in Python

在 Python 中加入特定的列表元素:

  1. 使用列表切片来选择列表中的特定元素。
  2. 使用该str.join()方法将元素连接成一个字符串。
  3. 用字符串替换列表元素。
主程序
my_list = ['ab', 'cd', 'ef', 'gh', 'ij'] my_list[1:3] = [''.join(my_list[1:3])] print(my_list) # 👉️ ['ab', 'cdef', 'gh', 'ij']

列表切片的语法是my_list[start:stop:step].

我们只提供了start和的值stop

请注意,对于的值start是包含性的,而对于的值是排除性的。 stop

所以我们开始选择索引1( cd) 处的列表项,然后向上移动到但不包括索引3( gh) 处的列表项。

我们使用该str.join()方法来连接元素的子集。

主程序
my_list = ['ab', 'cd', 'ef', 'gh', 'ij'] print(''.join(my_list[1:3])) # 👉️ 'cdef'

str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

最后一步是用字符串替换相同的元素子集。

调用该join()方法的字符串用作元素之间的分隔符。我们没有在示例中提供分隔符,但您可以根据需要指定分隔符。

如果您不想改变原始列表的内容,请使用该copy()
方法创建列表的浅表副本。

主程序
my_list = ['ab', 'cd', 'ef', 'gh', 'ij'] my_copy = my_list.copy() my_copy[1:3] = [''.join(my_copy[1:3])] # 👇️ copy list updated print(my_copy) # 👉️ ['ab', 'cdef', 'gh', 'ij'] # 👇️ original list remains unhanged print(my_list) # 👉️ ['ab', 'cd', 'ef', 'gh', 'ij']

该示例更改副本的内容并保持原始列表不变。

如果您不知道需要加入列表的值的索引,请使用该
list.index()方法。

主程序
my_list = ['ab', 'cd', 'ef', 'gh', 'ij'] start = my_list.index('cd') stop = my_list.index('ef') + 1 my_list[start:stop] = [''.join(my_list[start:stop])] print(my_list) # 👉️ ['ab', 'cdef', 'gh', 'ij']

list.index()方法返回其值等于提供的参数的第一个项目的索引。

我们添加1到字符串ef的索引是因为stop索引是独占的。

请注意,如果可迭代对象中有任何非字符串值,该str.join()方法将引发 a 。TypeError

如果您的列表包含数字或其他类型,请在调用之前将所有值转换为字符串join()

主程序
my_list = ['ab', 'cd', 123, 'gh', 'ij'] my_list[1:3] = [''.join(map(str, my_list[1:3]))] print(my_list) # 👉️ ['ab', 'cd123', 'gh', 'ij']

在将结果传递给方法之前,我们使用该map()函数将所有列表项转换为字符串str.join()

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