python学习——python编程:从入门到实践(第4章)

4.4第四章操作列表

4.1 遍历整个列表

eg1:for循环打印
names= ["li","wu","zhu","zhang","wang"]
for name in names:
print(name)

li
wu
zhu
zhang
wang

eg2:for循环中,一次循环完成后,在重新执行直至循环结束
names= ["li","wu","zhu","zhang","wang"]
for name in names:
print(name.title() + ", nice to meet you!")
print("Good morning!" + name.title()+".\n")
Li, nice to meet you!
Good morning!Li.
Wu, nice to meet you!
Good morning!Wu.
Zhu, nice to meet you!
Good morning!Zhu.
Zhang, nice to meet you!
Good morning!Zhang.
Wang, nice to meet you!
Good morning!Wang.
 
  eg3:for循环结束后打印
names= ["li","wu","zhu","zhang","wang"]
for name in names:
print(name.title() + ", nice to meet you!")
print("Good morning!" + name.title()+".\n")
print("welcome!")
Li, nice to meet you!
Good morning!Li.
Wu, nice to meet you!
Good morning!Wu.
Zhu, nice to meet you!
Good morning!Zhu.
Zhang, nice to meet you!
Good morning!Zhang.
Wang, nice to meet you!
Good morning!Wang.
welcome!
 
Tips:避免缩进错误
       for name in names: ………………………………………………………………………… 还要加冒号
           print(name.title() + ", nice to meet you!") ……………………要缩进的
       print("welcome!")   …………………………………………………………如果在循环外打印只打印一条
 
4.2创建数值列表
4.2.1 函数range()………………………………………生成一系列数字
 eg4:
for number in range(1,5):   ……………………………………………………………………range(1,5)左闭右开,只能生成1:4的数字
print(number)
  1
2
3
4
4.2.2 使用range()创建数字列表
数字转化为列表可使用list()函数
eg5:
numbers=list(range(1,5))
print(numbers)

[1, 2, 3, 4]

eg6:还可以指定步长,相当于等差数列中的公差(range(首项,尾项,公差))
numbers=list(range(2,11,2))
print(numbers)

[2, 4, 6, 8, 10]

eg7:数的平方(**)
squares = []……………………………………………………空列表
for value in range(1,11):
squares.append(value**2)……………………………………列表末尾开始循环添加元素
print(squares)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4.2.3 对数字列表执行简单的统计计算
min()最小值
max()最大值
sum()总和   
eg8:
numbers =[1,5,6,3,7,89,44,55,687]
print(min(numbers))
print(max(numbers))
print(sum(numbers))
  1
687
897
4.2.4列表解析
eg9:
squares = [value**2 for value in range(1,11)] …………………………………………for句尾无冒号
print(squares)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4.3使用列表的一部分
4.3.1 切片
eg10:
names= ["li","wu","zhu","zhang","wang"]
print(names[1:4]) ………………………………………………………………………………………………索引从1开始,左开右闭,所以列表最后一位索引是3

['li', 'wu', 'zhu']
   eg11:
names= ["li","wu","zhu","zhang","wang"]
print(names[:3])………………………………………………………………………………若没有指定列表第一个索引,python自动从头开始提取

['wu', 'zhu', 'zhang']
   eg12:
names= ["li","wu","zhu","zhang","wang"]
print(names[1:])……………………………………………………………………………………省略终止索引,python提取到列表的末尾

eg13:
names= ["li","wu","zhu","zhang","wang"]
print(names[-3:])…………………………………………………………………………………………负数索引返回离列表末尾相应距离的元素
['zhu', 'zhang', 'wang']
eg14:
names= ["li","wu","zhu","zhang","wang"]
print(names[:-3])

['li', 'wu']

4.3.2遍历切片

eg15:
names= ["li","wu","zhu","zhang","wang"]
print("Here are my friends:")
for friend in names[:4]:
print(friend)
Here are my friends:
li
wu
zhu
zhang


4.3.3复制列表
eg16:
names= ["li","wu","zhu","zhang","wang"]
friends = names[:]

print("There are competitors:")
print(names)
print("My friends:")
print(friends)

There are competitors:
['li', 'wu', 'zhu', 'zhang', 'wang']
My friends:
['li', 'wu', 'zhu', 'zhang', 'wang']

eg17:
names= ["li","wu","zhu","zhang","wang"]
friends = names[:]…………………………………………………………………………………………复制的是原始母本
names.append("mi")…………………………………………………………………………………………母本修改在副本之后,不影响副本
friends.append("ge")
print("There are competitors:")
print(names)
print("My friends:")
print(friends)

There are competitors:
['li', 'wu', 'zhu', 'zhang', 'wang', 'mi']
My friends:
['li', 'wu', 'zhu', 'zhang', 'wang', 'ge']

eg18:
names= ["li","wu","zhu","zhang","wang"]
names.append("mi")
friends = names[:]
print("There are competitors:")
print(names)
print("My friends:")
print(friends)
There are competitors:
['li', 'wu', 'zhu', 'zhang', 'wang', 'mi']
My friends:
['li', 'wu', 'zhu', 'zhang', 'wang', 'mi']


eg19:
names= ["li","wu","zhu","zhang","wang"]
friends = names[:]
names.append("mi")
print("There are competitors:")
print(names)
print("My friends:")
print(friends)

There are competitors:
['li', 'wu', 'zhu', 'zhang', 'wang', 'mi']
My friends:
['li', 'wu', 'zhu', 'zhang', 'wang']

4.4 元组
4.4.1定义元组
eg20:
dimensions = (200,50)
print(dimensions[0])
print(dimensions[1])
200
50

4.4.2遍历元组
eg21:
dimensions = (200,50)
for dimension in dimensions:
print(dimension)
200
50

4.4.3(元组不可修改值,但可以给元组赋值)
eg22:
dimensions = (200,50)
dimensions[0]="200"
print(dimensions[0])

Traceback (most recent call last):
  File "C:/Users/25337/PycharmProjects/untitled1/app.py", line 2, in <module>
    dimensions[0]="200"
TypeError: 'tuple' object does not support item assignment

eg23:
dimensions = (200,50)
print("original:")
for dimension in dimensions:
print(dimension)
dimensions = (250,50)
print("midified:")
for dimension in dimensions:
print(dimension)

original:
200
50
midified:
250
50


 




 




猜你喜欢

转载自www.cnblogs.com/ljx12579/p/12571682.html
今日推荐