Python入门之列表操作

  • 遍历整个列表

你经常需要遍历列表的所有元素,对每个元素执行相同的操作。可使用python中的for循环。如示例:

>>> Hogwarts=['gryffindor','hufflepuff','ravenclaw','slytherin']
>>> for x in Hogwarts           #######如果不加 :  就会出现错误哦
SyntaxError: invalid syntax
>>> for x in Hogwarts:
	print(x)                      ####for循环 冒号下,缩进代表循环程序内部!!可包括多个语句。

gryffindor
hufflepuff
ravenclaw
slytherin

简单来说,只要 跟在for 循环 冒号下的  缩进语音 都被python认定为 循环语句。

>>> for x in Hogwarts:
	print(x)
	print(x.title()+"is  a  academic. ")

gryffindor
Gryffindoris  a  academic. 
hufflepuff
Hufflepuffis  a  academic. 
ravenclaw
Ravenclawis  a  academic. 
slytherin
Slytherinis  a  academic.            ######python中对输出语句自动换行
  • 创建数字列表

Python函数range() 可以生成一系列的数字。

>>> for value in range(1,5):
	print(value)

1
2
3
4

range 函数 让python 从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值。

而要想打印数字列表,可使用函数list()将range() 的结果直接转换为列表。如果将range()作为list 的参数,输出将为一个数字列表。

>>> numbers=list(range(5))
>>> numbers
[0, 1, 2, 3, 4]

还可以指定步长。  第一个参数为起始数,第二个参数为终止数,第三个参数为步长。

>>> numbers=list(range(1,11,2))
>>> numbers
[1, 3, 5, 7, 9]

我们来看接下来这两个代码,并比较如下两种代码:

#######  1    ###################
>>> squares=[]
>>> for x in range(11):
	square=x**2
	squares.append(square)

>>> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

#######  2    ############
>>> square_sp=[]
>>> for x in range(11):
	square_sp.append(x**2)

>>> square_sp
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

比较  1 ,2   代码,在创造复杂的列表时,可使用上述两种方法中的任何一种,有时候临时变量会让代码更易读;而在其他情况下,这样做只会让代码无谓地变长。所以在编写过程中,我们应该考虑的是,编写清晰易懂且能完成所需功能的代码;等到审核代码时,再考虑采用更高效的方法。

  • 对数字列表执行简单的统计计算。

>>> numbers
[1, 3, 5, 7, 9]
>>> min(numbers)
1
>>> max(numbers)
9
>>> sum(numbers)
25
  • 列表解析

列表解析:列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

如上述平方和代码,便可以将其改写成一行,就会非常的简单。

>>> square_re=[value**2 for value in range(11)]
>>> square_re
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

要使用这种方法,首先指定一个描述性的列表名,如square_re;然后指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2,它计算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。

此方法经常被使用到!!!

你可能感兴趣的:(Python)