从 Python 列表中删除方括号

在 Python 中从列表中删除方括号

Remove square brackets from a List in Python

使用该str.join()方法从列表中删除方括号,例如
result = ', '.join(str(item) for item in my_list). str.join()方法会将列表连接成一个没有方括号的字符串。

主程序
# ✅ remove square brackets from list of strings list_of_strings = ['bobby', 'hadz', 'com'] result = ', '.join(list_of_strings) print(result) # 👉️ bobby, hadz, com # --------------------------------------------- # ✅ remove square brackets from list of integers list_of_numbers = [44, 22, 66] result = ', '.join(str(item) for item in list_of_numbers) print(result) # 👉️ 44, 22, 66

我们使用该str.join()方法从列表中删除方括号。

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

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

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

主程序
list_of_numbers = [44, 22, 66] result = ', '.join(str(item) for item in list_of_numbers) print(result) # 👉️ 44, 22, 66

我们使用生成器表达式来遍历列表。

生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们使用str()该类将数字转换为字符串。

调用该join()方法的字符串用作元素之间的分隔符。

主程序
list_of_numbers = [44, 22, 66] result = ' '.join(str(item) for item in list_of_numbers) print(result) # 👉️ 44 22 66

如果您不需要分隔符而只想将列表的元素连接到一个字符串中,请在join()空字符串上调用该方法。

主程序
list_of_numbers = [44, 22, 66] result = ''.join(str(item) for item in list_of_numbers) print(result) # 👉️ 442266

您还可以使用该map()函数在调用之前将列表中的所有项目转换为字符串join()

主程序
list_of_integers = [44, 22, 66] result = ''.join(map(str, list_of_integers)) print(result) # 👉️ 442266

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

如果您需要删除方括号以展平列表,请使用列表理解。

主程序
my_list = [['bobby'], ['hadz'], ['.', 'com']] flat_list = [x for xs in my_list for x in xs] print(flat_list) # 👉️ ['bobby', 'hadz', '.', 'com']

或者,您可以使用字符串切片。

在 Python 中从列表中删除方括号

要从列表中删除方括号:

  1. 使用str()该类将列表转换为字符串。
  2. 使用字符串切片从字符串中排除第一个和最后一个字符。
  3. 该字符串将不包含方括号。
主程序
list_of_strings = ['bobby', 'hadz', 'com'] result = str(list_of_strings)[1:-1] print(result) # 👉️ 'bobby', 'hadz', 'com' # --------------------------------------------- list_of_integers = [44, 22, 66] result = str(list_of_integers)[1:-1] print(result) # 👉️ 44, 22, 66

我们使用str()该类将列表转换为字符串,并使用字符串切片来排除方括号。

主程序
list_of_strings = ['bobby', 'hadz', 'com'] # "['bobby', 'hadz', 'com']" print(str(list_of_strings))

字符串切片的语法是my_str[start:stop:step].

索引是包含的start,而stop索引是排他的(最多,但不包括)。

Python 索引是从零开始的,因此字符串中的第一个字符的索引为0,最后一个字符的索引为-1or len(my_str) - 1

我们使用一个start索引1排除左方括号,并使用一个
stop索引-1排除右方括号。

您也可以使用该str.replace()方法获得相同的结果。

主程序
list_of_strings = ['bobby', 'hadz', 'com'] result = str(list_of_strings).replace('[', '').replace(']', '') print(result) # 👉️ 'bobby', 'hadz', 'com'

如果您需要从列表中的每个项目中删除方括号,请使用该
str.replace()方法。

主程序
my_list = ['[bobby]', '[hadz]', '[com]'] result = [item.replace('[', '').replace(']', '') for item in my_list] print(result) # 👉️ ['bobby', 'hadz', 'com']

str.replace方法返回字符串
的副本,其中所有出现的子字符串都被提供的替换项替换。

该方法采用以下参数:

姓名 描述
老的 字符串中我们要替换的子串
新的 每次出现的替换old
数数 count替换第一次出现的(可选)

该方法不会更改原始字符串。字符串在 Python 中是不可变的。