Python的
列表推导是在列表中执行的循环,用于生成一个新的列表。Python列表推导之所以从右到左进行评估,是因为通常在Python中括号(
[]
, {}
, ()
)中的任何内容都是从
右到左执行的,只有少数例外。另一件需要注意的事情是字符串是可迭代的(
lists
,
tuples
,
sets
,
dictionaries
, numpy数组),可以将字符连接起来,使其可以像列表一样迭代。
列表推导格式:
new_list = [item for item in my_list]
这将产生相同的效果:
for item in my_list:
my_list.append(item)
由于字符串是字符的可迭代对象,因此您可以这样做:
my_list = [character for character in 'Hello world!']
print(list)
输出:
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
您的列表推导式也可以写成以下形式:
my_list = []
for character in 'Hello world':
my_list.append(character)
print(my_list)
我也要指出的是,你不应该使用内置方法(如
List
)作为变量名,因为这样会覆盖它们,将来就无法使用该方法。
下面是Python 3.9.6中所有内置方法的完整列表:
![Built in methods](https://istack.dev59.com/4Tb7Z.webp)
character
是 一个表达式。而且,是的,列表推导式 正在 创建一个新列表。 - quamranaList
作为变量名,因为它是一个保留关键字。尝试使用my_list
以避免问题。 - TERMINATOR