在列表中追加元素

Append elements in list

我是 Python 的新手,对列表有疑问。

我可以追加列表中的元素以在前后添加文本吗?

例子

mylist = ['Audi', 'Bmw', 'Mercedes']

我想在所有其他项目上添加 " 符号,因此它看起来像这样:

mylist = ['"Audi"', '"Bmw"', '"Mercedes"']

尝试列表理解:

mylist = ['"'+x+'"' for x in mylist]

格式化字符串版本:

mylist = ['"{}"'.format(x) for x in mylist]

F 弦 (Python 3.6+)

mylist = [f'"{x}"' for x in mylist]

您可以循环列表,然后用引号将列表中的每个元素附加到新列表中。

my_list = ['Audi','Bmw','Mercedes']
a = []
for i in my_list:
    a.append("\""+i+"\"")
print(a)

在 Python 中,字符串永远无法更改,因此如果您想修改某些内容,您总是必须创建一个新字符串。有很多方法可以使用现有字符串中的数据创建新字符串。这里只是一些:

可以使用加号运算符将字符串“相加”(串联):

>>> 'hello' + ' ' + 'world!'
'hello world'

可以使用 C(编程语言)样式模板构建字符串:

>>> 'hello %s!' % 'world'
'hello world!

Python 也有自己的模板 format,必须与 format 方法一起使用:

>>>'{} {}!'.format('hello', 'world')
'hello world!'

既然您知道如何修改字符串,您只需要找到一种方法来对列表中的每个字符串进行修改。

一种非常简单但冗长的方法可能是遍历列表索引,并就地修改列表的现有元素(列表是可变的,因此可以在不创建新列表的情况下更改每个项目):

>>> for i in range(len(mylist)):
>>>    mylist[i] = '"{}"'.format(mylist[i])

或者,python 有一种方便的形式,用于从称为 list comprehension 的现有可迭代对象创建新列表(因为这是很常见的事情)。

>>> new_list = ['"{}"'.format(item) for item in mylist]