python输入一个列表 输入0停止_【python零基础入门】基础语法之列表的使用(上)...

本文介绍了Python基础语法中的列表遍历,使用for循环展示NBA球员列表,强调缩进和冒号在语法中的重要性。接着讲解了如何用range()创建数字列表,进行数值统计计算,并通过列表解析生成平方数列表,提高编程效率。

1.遍历整个列表

1.1 for循环介绍

首先看一个例子,建立一个NBA球员列表(包括杜兰特、勒布朗、乔丹),打印列表中的每一个元素,并在最后说明他们都是伟大的球员。

1players=['Durant','LeBron','Michael']

2for player in players:

3 print(player)

4print('They are great basketball players!')

输出结果:

1Durant

2LeBron

3Michael

4They are great basketball players!

for循环使得print(player)这行代码执行了三次,每执行一次,列表的一个元素就会被存到变量player中,然后通过打印这个变量player打印出列表中的元素。对于列表中的每一个元素,都会执行循环中的指定步骤,这个“指定步骤”指的是for循环冒号(:)以下的所有缩进的代码,例如在本例中,冒号以下的所有缩进的代码就只有一行: print(player),因此这行代码执行了三次。而未缩进的代码则不处于for循环得指定步骤之中。

Tip:编写for循环的第一句时,最后使用单数和复数式的名称来区别列表名和变量名。例如:

1for cat in cats:

2for dog in dogs:

下面编写稍微复杂一点的例子。仍然使用上面定义的球员列表,使用for循环完成以下任务:对于每一位球员都打印一条信息,指出他打球实在是太厉害了,然后再打印一条信息告诉他,我上我也行。最后以呵呵作为结尾。

输入:

1players=['Durant','LeBron','Michael']

2for player in players:

3 print(player.title()+',you play basketball very NB!')

4 print('But I have to say:I up I can ,too.'+player.title())

5print('hehe')

输出:

1Durant,you play basketball very NB!

2But I have to say:I up I can ,too.Durant

3Lebron,you play basketball very NB!

4But I have to say:I up I can ,too.Lebron

5Michael,you play basketball very NB!

6But I have to say:I up I can ,too.Michael

7hehe

1.2 for循环格式常见错误

1.缩进错误

前文已经进行了介绍,在python中,是根据缩进来判断代码行与前一个代码行的关系的,有缩进代表着本行代码属于前一行代码.因此要注意for循环中不能丢失缩进,同理在其他代码中也不能随意添加缩进.

丢失缩进示例:

1players=['Durant','LeBron','Michael']

2for player in players:

3print(player.title()+',you play basketball very NB!')

结果会显示错误:

1File "C:/Users/user/PycharmProjects/test1/learn3.py", line 9

2 print(player.title()+',you play basketball very NB!')

3 ^

4IndentationError: expected an indented block

多余的不必要缩进示例:

1message='Hello world'

2 print(message)

结果显示:

1File "C:/Users/user/PycharmProjects/test1/learn3.py", line 12

2 print(message)

3 ^

4IndentationError: unexpected indent

2.遗漏冒号

如果在for循环中遗漏了冒号,也会导致语法错误,例如:

1players=['Durant','LeBron','Michael']

2for player in players

3 print(player.title()+',you play basketball very NB!')

输出:

1File "C:/Users/user/PycharmProjects/test1/learn3.py", line 8

2 for player in players

3 ^

4SyntaxError: invalid syntax

2.创建数值列表

2.1 使用函数range()

函数range()能够生成一系列数字,例如:

1for value in range(1,5):

2 print(value)

3

输出:

11

22

33

44

注意到,在本例中,range(1,5)只是打印了1-4,这是经常在编程语言中看到的差一行为.函数range()让python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不含第二个值(这里为5).要打印1-5,则应该使用range(1,6).

同时,使用函数range()时,还可以指定步长,例如,下面的代码可以打印从1开始,依次加2,达到9结束的一个等差数列:

1for value in range(1,10,2):

2 print(value)

3

输出:

11

23

35

47

59

2.2 使用range()创建数字列表

使用函数list()直接将range()的结果转换为列表,将range()作为list()的参数,输出一个数字列表.

1numbers=list(range(1,13,3))

2print(numbers)

输出列表:

1[1, 4, 7, 10]

下面利用创建一个更复杂的列表,它包含了1-10每个数的乘方.在python中乘方运算是由(**)表示的.

输入:

1numbers=[]

2for number in range(1,11):

3 numbers.append(number**2)

4print(numbers)

输出:

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

本例中,还可以这样编写代码:

1numbers=[]

2for number in range(1,11):

3 value=number**2

4 numbers.append(value)

5print(numbers)

在for循环中先引入一个变量用来存储数据,在将变量存入列表中,最后输出结果是一样的.

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

有几个专门处理数字列表的函数,可以轻松的找到数字列表的最大值,最小值和总和.

1numbers=list(range(1,10))

2print(numbers)

3print(max(numbers))

4print(min(numbers))

5print(sum(numbers))

输出:

1[1, 2, 3, 4, 5, 6, 7, 8, 9]

29

31

445

2.4 列表解析

列表解析是一种进阶的语法,可以使用一行代码就生成一个列表,它融合了for循环和创建新元素的代码.例如,下面的示例使用一行代码创建前文中创建的平方数列表:

1numbers=[number**2 for number in range(1,11)]

2print(numbers)

输出:

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

使用这个语法,首先要定义一个描述性的列表名,如numbers,然后指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值,在这个实例中,表达式为number**2.接下来,编写一个for循环,用于给表达式提供值,再加上右方括号,在这个实例中,for循环为for number in range(1,11),它将1-10提供给表达式.请注意,这里的for循环没有冒号.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值