python3_操作列表

python3_操作列表

一.遍历列表

(一)for循环

  • 在编写for 循环时,对于用于存储列表中每个值的临时变量,可指定任何名称。然而,选择描述单个列表元素的有意义的名称大有帮助。
  • 这些命名约定有助于你明白for 循环中将对每个元素执行的操作。使用单数和复数式名称,可帮助你判断代码段处理的是单个列表元素还是整个列表。
  • 在for 循环中,想包含多少行代码都可以。

(二)代码格式

PEP 8是最古老的PEP之一,它向Python程序员提供了代码格式设置指南。
请访问https://python.org/dev/peps/pep-0008/ ,阅读PEP 8格式设置指南。
- Python根据缩进来判断代码行与前一个代码行的关系。
- PEP 8建议每级缩进都使用四个空格
- 在字处理文档中,大家常常使用制表符而不是空格来缩进
- 很多Python程序员都建议每行不超过80字符
- 空行不会影响代码的运行,但会影响代码的可读性

####【练习】:

1 比萨 :想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用for 循环将每种比萨的名称都打印出来。

  • 修改这个for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称。对于每种比萨,都显示一行输出,如“I like pepperoni pizza”。
  • 在程序末尾添加一行代码,它不在for 循环中,指出你有多喜欢比萨。输出应包含针对每种比萨的消息,还有一个总结性句子,如“I really love pizza!”。
pizzas = ['a', 'b', 'c']
for pizza in pizzas:
    print("I like " + pizza)
print("I really love pizza!")

这里写图片描述
结果为:

2 动物 :想出至少三种有共同特征的动物,将这些动物的名称存储在一个列表中,再使用for 循环将每种动物的名称都打印出来。

  • 修改这个程序,使其针对每种动物都打印一个句子,如“A dog would make a great pet”。
  • 在程序末尾添加一行代码,指出这些动物的共同之处,如打印诸如“Any of these animals would make a great pet!”这样的句子。
animals = ['a', 'b', 'c']
for animal in animals:
    print("A " + animal + " would make a great pet")
print("Any of these animals would make a great pet!")

这里写图片描述

二.数值列表

(一)range()函数

Python函数range() 让你能够轻松地生成一系列的数字。

range(1,5) 只是打印数字1~4
函数range() 让Python从你指定的第一个值开始数,并在到达你指定的第二个值 后停止,因此输出不包含第二个值(这里为5)
使用range() 时,如果输出不符合预期,请尝试将指定的值加1或减1。

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

这里写图片描述

(二)list()函数

用函数list() 将range() 的结果直接转换为列表

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

这里写图片描述

range(1,5)
结果为1,2,3,4

指定步长:
range(1,10,3)
结果为1,4,7

(三)数字列表的统计计算

min(A) 最小值
max(A) 最大值
sum(A) 求和

【计算】:

5 数到20 :使用一个for 循环打印数字1~20(含)。

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

6 一百万 :创建一个列表,其中包含数字1~1 000 000,再使用一个for 循环将这些数字打印出来(如果输出的时间太长,按Ctrl + C停止输出,或关闭输出窗口)。

numbers=list(range(1, 1000000))
for num in numbers:
    print(num)

7 计算1~1 000 000的总和 的总和 :创建一个列表,其中包含数字1~1 000 000,再使用min() 和max() 核实该列表确实是从1开始,到1 000 000结束的。另外,对这个列表 调用函数sum() ,看看Python将一百万个数字相加需要多长时间。

numbers=list(range(1, 1000000))
print(min(numbers))
print(max(numbers))
print(sum(numbers))

这里写图片描述

8 奇数 :通过给函数range() 指定第三个参数来创建一个列表,其中包含1~20的奇数;再使用一个for 循环将这些数字都打印出来。

numbers = list(range(1, 21, 3))
print(numbers)
for number in numbers:
    print(number)

9 立方 :将同一个数字乘三次称为立方。例如,在Python中,2的立方用2**3 表示。请创建一个列表,其中包含前10个整数(即1~10)的立方,再使用一个for 循 环将这些立方数都打印出来。

numbers = list(range(1, 11))
print(numbers)
number3 = []
for number in numbers:
    number = number ** 3
    number3.append(number)
print(number3)

这里写图片描述

10 立方解析 :使用列表解析生成一个列表,其中包含前10个整数的立方。

list = [value ** 3 for value in range(11)]
print(list)

三.切片

list = [ 'a' , 'b' , 'c' , 'd' , 'e' ]
索引值     0     1     2     3     4

list [ 3 ] 索引值为3
list [ 1 : 4 ] 索引值为1,2,3
list [ 0 : 3 ] 索引值为0,1,2,3
list [ 2 : ] 索引值为2到最后一个数字,在这里是2,3,4
list [ : 2 ] 索引值为0到1,在这里是0,1
list [ -3 : ] 索引值的最后三个
list [ : ] 全部索引值,可用于复制列表

【练习】:

11 切片 :选择你在本章编写的一个程序,在末尾添加几行代码,以完成如下任务。

  • 打印消息“The first three items in the list are:”,再使用切片来打印列表的前三个元素。
  • 打印消息“Three items from the middle of the list are:”,再使用切片来打印列表中间的三个元素。
  • 打印消息“The last three items in the list are:”,再使用切片来打印列表末尾的三个元素。
pizzas = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
print(pizzas)
print("The first three items in the list are: ")
print(pizzas[:3])
print("Three items from the middle of the list are: ")
print(pizzas[:4])
print("The last three items in the list are: ")
print(pizzas[-3:])

这里写图片描述
12 你的比萨和我的比萨 :在你为完成练习4-1而编写的程序中,创建比萨列表的副本,并将其存储到变量friend_pizzas 中,再完成如下任务。

  • 在原来的比萨列表中添加一种比萨。
  • 在列表friend_pizzas 中添加另一种比萨。
  • 核实你有两个不同的列表。为此,打印消息“My favorite pizzas are:”,再使用一个for 循环来打印第一个列表;打印消息“My friend’s favorite pizzas are:”,再使用一 个for 循环来打印第二个列表。核实新增的比萨被添加到了正确的列表中。
pizzas = ['a', 'b', 'c']
friend_pizzas = pizzas[:]
pizzas.append('old_1')
friend_pizzas.append('new_1')
print("My favorite pizzas are: ")
for pizza in pizzas:
    print(pizza)
print("My friend's favorite pizzas are: ")
for friend_pizza in friend_pizzas:
    print(friend_pizza)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/zwhzwh0228/article/details/80560679
今日推荐