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 的值。

因此,我们开始选择索引 1 (cd) 处的列表项,并上升到但不包括索引 3 (gh) 处的列表项。

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

my_list = ['ab', 'cd', 'ef', 'gh', 'ij']


print(''.join(my_list[1:3]))  # 👉️ 'cdef'

str.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']

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

该示例更改了副本的内容并保持原始列表相同。

如果我们不知道需要加入列表的值的索引,请使用 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 的索引,因为停止索引是独占的。

如果我们的列表包含数字或其他类型,请在调用 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() 函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项调用该函数。