在 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 中从列表中删除方括号
要从列表中删除方括号:
- 使用
str()
该类将列表转换为字符串。 - 使用字符串切片从字符串中排除第一个和最后一个字符。
- 该字符串将不包含方括号。
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
,最后一个字符的索引为-1
or 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 中是不可变的。