Python笔记-007-操作列表

在for循环中,缩进的代码都会被执行到,切针对列表中的每个值都执行一次。
1.7.1对for循环进行操作

nbastars=['James','wade','paul','Curry','durant']
for nbastar in nbastars:
    print(nbastar.title()+",what amazing happen !")
    print("I can't wait to see your next trick, "+nbastar.title()+":\n")
print("Thank you,all of you!")

1.7.2避免缩进的错误
注:Python是通过缩进来判断代码行与前一个代码行的关系的
我们写代码的时候,可能会遇到一些常见的缩进错误:
(1)忘记缩进 比如

nbastars=['James','wade','paul','Curry','durant']
for nbastar in nbastars:
print(nbastar.title()+",what amazing happen !")

这样子无法正确编译 养成在for语句后代码行缩进。

(2)忘记缩进额外的代码行

nbastars=['James','wade','paul','Curry','durant']
for nbastar in nbastars:
    print(nbastar.title()+",what amazing happen !")
print("I can't wait to see your next trick, "+nbastar.title()+":\")

可以编辑,但不到我们要的效果
(3)遗漏了冒号
冒号是为了告诉python下一行是行是的第一行 误误`这里写代码片误
误导致错误

nbastars=['James','wade','paul','Curry','durant']
for nbastar in nbastars
        print(nbastar.title()+",what amazing happen !")
        print("I can't wait to see your next trick, "+nbastar.title()+":\n")
 print("Thank you,all of you!")

注意点:
for语句后面属于循环部分的代码行,一定要缩进,在for语句后面也一定到加冒号,冒号告诉python,下一行是循环的第一行。
注意不必要的缩进,python对缩进要求很严格

1.7.3 使用函数range()
range()函数能让你轻松生成一系列的数字

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

这里写图片描述
上述代码应该是打印1-5,但是实际上只打印了1 2 3 4
这是编程语言中经常看到的差一行为 range从第一个值开始,到第二个值结束
1.7.4 使用函数range()创建列表

numbers =list(range(1,5))
print(numbers)

这里写图片描述
range 可以指定步长,比如打印1-10的偶数

numbers =list(range(2,11,2))
print(numbers)

比如创建1-10的平方

squares=[]
for value in range(1,11):
    square=value**2
    squares.append(square)
print(squares)  

也可以为了让代码更简洁直接添加值,不使用临时变量square

squares=[]
for value in range(1,11):
    squares.append(value**2)
print(squares)  

这里写图片描述
更为简洁的是利用列表解析的方法,我们阅读别人的代码的时候可能会遇到

squares=[value**2 for value in range(1,11)]
print(squares)

这里写图片描述

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

numbers=[1,2,3,4,5,6,7,8,9]
maxnumber=max(numbers)
minnumber=min(numbers)
sumnumber=sum(numbers)
print("Max number is :"+str(maxnumber))
print("Min number is :"+str(minnumber))
print("Sum number is :"+str(sumnumber))

这里写图片描述

动手试一试
4-3 数到20,使用一个for循环打印数字1-20(含20)

for value in range(1,21):
    print(value)

4-4:创建一个列表,其中包含1~1000 000,再使用一个for循环将这些数字打印出来(如果输出时间太长,直接ctrl+c停止输出,或者关闭窗口)

number=list(range(1,1000001))
print(number)
for value in range(1,1000001):
        print(value)

4-5 计算1- 1000000的总额和:创建一个列表,其中包含数字1-1000000,在使用min()和max()核实该列表确实是从1开始1000000结束。然后算下总和,看看一百万的数字相加需要多少时间

 #coding:gb2312  #这个应该是编码的问题,我不加上去的话编译会出错,不同的编译环境宏定义不一样
number=list(range(1,1000001))
sumnumber=sum(number)
maxnumber=max(number)
minnumber=min(number)
print("The Max number is:"+str(maxnumber))
print("The Min number is:"+str(minnumber))
print("The sum of 1-1000001 is :"+str(sumnumber))

这里写图片描述
4-6奇数:通过给函数range()制定第三个参数来创建一个列表,其中包含1-20的奇数,再使用一个for函数打印出来

number=list(range(1,21,2))
print(number)
for value in range(1,21,2):
    print(value)

这里写图片描述
4-7 3的倍数,创建一个列表,列出3-30内能被3整除的数字,再试用for打印出来

number=list(range(3,31,3))
print(number)
for value in range(3,31,3):
     print(value)

这里写图片描述
4-8 立方 将同一个数字乘三次称为立方,再python中,立方可以使用2**3表示 请创建一个列表,其中包含10个整数(1~10)的立方,再使用for将他们打印出来

cubic=[]
for value in range(1,11):
    cubic.append(value**3) 
print(cubic)

这里写图片描述
4-9 立方解析:使用列表解析生成一个列表,其中包含10个整数的立方

cubic=[value**3 for value in range(1,11)]
print(cubic)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_35989861/article/details/81474488
今日推荐