用 for 循环遍历列表
#用 for 循环遍历列表
names = ['zong hui', 'li guojian', 'liu peipei', 'dafan', 'hongdou', 'And..']
for friends in names:
print(friends)
print("---------------------------->修改下人名显示格式")
for friends in names:
print(friends.title() + " is a good friend!")
print("\tThank you!")
#观察运行结果,循环是用缩进来确定循环体的
print("---------------------------->最喜欢的动物")
#section practise --> animals
animals = ['dog', 'cat', 'pig', 'bird', 'rabbit']
print("There are some animals:")
for animal in animals:
message = animal.title()
print(message)
print(animals[0].title() + " is my favourite animal!")
运行结果
zong hui
li guojian
liu peipei
dafan
hongdou
And..
---------------------------->修改下人名显示格式
Zong Hui is a good friend!
Li Guojian is a good friend!
Liu Peipei is a good friend!
Dafan is a good friend!
Hongdou is a good friend!
And.. is a good friend!
Thank you!
---------------------------->最喜欢的动物
There are some animals:
Dog
Cat
Pig
Bird
Rabbit
Dog is my favourite animal!
创建数字列表
#创建数字列表 --> range(a, b, σ)
#使用range()打印一系列的数
for value in range(1, 6):
print(value) #注意输出是1—5,range()函数是到后一个数为止,不算最后的数。--“差一行为”
number = list(range(1, 10))
print(number) #用list()函数创建数字列表
print("-----------------------------")
#用range()输出前5位奇数
number = list(range(1, 10, 2)) #range()函数可定义步长,此处步长为2
print(number)
print("----------------------------")
#创建一个前10个整数的平方的列表
squares = []
for value in range(1, 11):
squares.append(value ** 2) #还记得吧,append()是把值添加到列表的末尾
print(squares)
print("----------------------------")
#对创建的列表作简单的计算
number =[19, 21, 25, 6, 9, 11, 17]
print('min is ' + str(min(number)))
print('max is ' + str(max(number)))
print('sum is ' + str(sum(number)))
运行结果
1
2
3
4
5
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
min is 6
max is 25
sum is 108
列表解析 -- 更简洁的写法
#列表解析 -- 更简洁的写法
squares = [value ** 2 for value in range(1, 11)]
print(squares)
#注意这里的for循环末尾没有:for循环的值将赋给前面的表达式
运行结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
书后的小练习
# Section Pracyise 4.6
#输出1-20间的所有奇数
for odd in range(1, 21, 2):
print(odd)
print('------')
#输出1-30能被3整除的所有数
for threes in range(3, 31, 3):
print(threes)
print('------')
#使用列表解析输出前10个整数的立方
cubic = [number ** 3 for number in range(1, 11)]
print(cubic)
运行结果
1
3
5
7
9
11
13
15
17
19
3
6
9
12
15
18
21
24
27
30
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
使用列表的一部分 --> 切片, 遍历切片
#使用列表的一部分 --> 切片, 遍历切片
char = ['A', 'B', 'C', 'D', 'E', 'F']
char1 = char[0 : 3] #取列表前 3 个元素
char2 = char[3 : 5] #取第4 - 5 个元素
char3 = char[ : 2] #默认从列表开头
char4 = char[2 :] #默认至列表末尾
char5 = char[-2 :] #倒数第2位开始到列表最后
char6 = char[: -2] #开头至倒数第 2 位止
print(char1)
print(char2)
print(char3)
print(char4)
print(char5)
print(char6)
print("---------------------> 下面是遍历切片char1")
for charNew in char1:
print(charNew)
运行结果
['A', 'B', 'C']
['D', 'E']
['A', 'B']
['C', 'D', 'E', 'F']
['E', 'F']
['A', 'B', 'C', 'D']
---------------------下面是遍历切片char1
A
B
C
复制列表 以及 创建元组等
#复制列表 以及 创建元组等
dim = [10 , 60, 90]
dimCopy = dim[:] #复制这个列表,相当于创建一个独立的副本
dimCopy.append(100) #在列表末尾加一个元素100
print("dim is " + str(dim))
print("dimCopy is " + str(dimCopy)) #作为对比,分别操作两个列表
#说明复制的列表相互独立
print("----------------------------> 创建元组及其使用")
#元组就是把列表的[]变成了( )--->用于不可改变的量,相当于C里的宏定义
cuboid = (10 , 60, 90) #例如这是长方体的维数
# cuboid.append(100) #尝试改变元组,发生报错
print(cuboid)
#改的方式只有重新定义元组
cuboidNew = (10, 60, 100) #这其实是废话
print(cuboidNew)
运行结果
dim is [10, 60, 90]
dimCopy is [10, 60, 90, 100]
----------------------------创建元组及其使用
(10, 60, 90)
(10, 60, 100)