二、继续学习(主要参考Python编程从入门到实践)

操作列表

具体内容如下:

  1 # 操作列表
  2 # 使用for循环遍历整个列表。
  3 # 使用for循环处理数据是一种对数据集执行整体操作的不错的方式。
  4 magicians = ['alice', 'david', 'carolina']
  5 for magician in magicians:
  6     print(magician)
  7 
  8 # 在for循环中执行更多操作。
  9 magicians = ['alice', 'david', 'carolina']
 10 for magician in magicians:
 11     print(magician.title() + ", that was a great trick!")
 12     print("I can't wait to see your next trick, " + magician.title() + ".\n")
 13 
 14 # 在for循环结束后执行一些操作。
 15 magicians = ['alice', 'david', 'carolina']
 16 for magician in magicians:
 17     print(magician.title() + ", than was a great trick!")
 18     print("I can't wait to see your next trick, " + magician.title() + ".\n")
 19 
 20 print("Thank you, everyone. That was a great magic show!")
 21 
 22 # 避免缩进错误
 23 # Python根据缩进来判断代码行与前一个代码行的关系。
 24 # 有时我们会忘记缩进,for语句后面属于循环组成部分的代码行如果忘记缩进Python将会报错。
 25 # 如果忘记缩进额外的代码行可能不会报错,但是程序运行后的结果与预期不同,那这就是一个逻辑错误,Python代码是合法的,但是逻辑上出现错误,
 26 # 结果就会不符合预期。
 27 # 不必要的缩进也会造成错误。
 28 # 循环后不必要的缩进可能会导致语法错误,但是大多数情况下只会导致逻辑错误。
 29 # 遗漏冒号将会导致语法错误。
 30 
 31 # 创建数字列表
 32 # 使用函数range()能够轻松地生成一系列的数字。
 33 # 使用range()时,如果输出不符合预期,请尝试指定的值加1或减1。
 34 for value in range(1, 5):  # 输出1 2 3 4,差一行为。
 35     print(value)
 36 
 37 # 使用range()创建数字列表
 38 # 要创建数字列表,可使用函数list()将range()的结果直接转换为列表。
 39 numbers = list(range(1, 6))
 40 print(numbers)
 41 
 42 # 使用range()时还可指定步长。从2开始,不断加2,一直到11结束.
 43 even_numbers = list(range(2, 11, 2))
 44 print(even_numbers)
 45 
 46 # 使用函数range()几乎能够创建任何需要的数字集,在Python中,两个星号(**)表示乘方运算。
 47 # 如下:
 48 squares = []
 49 for value in range(1, 11):  # 函数range()遍历1~10的值
 50     square = value**2
 51     squares.append(square)  # 新计算得到的平方值附加到列表squares末尾
 52 
 53 print(squares)  # 循环结束后打印列表squares
 54 
 55 # 简洁一点可这样写,不使用临时变量square,直接将每个计算得到的值附加到列表末尾。
 56 print("\n简洁写法输出:")
 57 squares = []
 58 for value in range(1, 11):  # 函数range()遍历1~10的值
 59     squares.append(value**2)  # 计算每个值的平方,并立即将结果附加到列表squares的末尾
 60 
 61 print(squares)  # 循环结束打印列表squares
 62 
 63 # 对数字列表执行简单的统计计算。
 64 # 函数min()找出数字列表最小值,函数max()找出数字列表最大值,函数sum()数字列表总和。
 65 digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
 66 print("列表" + str(digits) + "中:")
 67 print("最小值:", min(digits))
 68 print("最大值:", max(digits))
 69 print("总和:", sum(digits))
 70 
 71 # 列表解析
 72 # 列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素
 73 
 74 print("列表解析:")
 75 squares = [value**2 for value in range(1, 11)]  # 表达式value**2用于生成要存储到列表中的值(平方值)for循环用于给表达式提供值
 76 print(squares)
 77 
 78 # 列表解析要多加练习,能够熟练地创建列表后就会发现这样做是完全值得的。
 79 # 当你觉得编写三四行代码来生成列表有点复杂时,就应该考虑创建列表解析了。
 80 
 81 # 使用列表的一部分
 82 # 切片:处理列表的部分元素————Python称之为切片。
 83 # 要创建切片,可指定要使用的第一个元素的索引和最后一个元素索引加1。
 84 # 要输出列表中的前三个元素,需要指定索引0-3,这将输出分别为0、1和2的元素。
 85 
 86 players = ['charles', 'martina', 'michael', 'florence', 'eli']
 87 print(players[0:3])  # 切片,输出列表前三个元素
 88 
 89 # 可以生成列表的任何子集,如要提取列表的第2~4个元素,可将起始索引指定为1,并将终止索引指定为4。
 90 print(players[1:4])  # 切片,输出第2~4个元素
 91 
 92 # 如果没有指定第一个索引,Python将自动从列表开头开始
 93 print(players[:4])  # 切片,输出列表前四个元素
 94 
 95 # 如果要提取从第3个元素到列表末尾的所有元素,可将起始索引指定为2,不指定终止索引。
 96 print(players[2:])
 97 
 98 # 负数索引返回离列表末尾相应距离的元素,因此可输出列表末尾的任何切片。
 99 print(players[-3:])  # 切片,输出最后三个元素
100 
101 # 遍历切片,可在for循环中使用切片。
102 players = ['charles', 'martina', 'michael', 'florence', 'eli']
103 
104 print("他们是队伍中前三的队员:")
105 for player in players[:3]:  # for循环遍历列表中的前三个元素
106     print(player.title())  # 逐个打印列表中的前三个元素
107 
108 # 复制列表
109 # 有时我们需要根据既有列表创建全新的列表。
110 # 要复制列表,可创建一个包含整个列表的切片。
111 my_foods = ['pizza', 'falafel', 'carrot cake']
112 friend_foods = my_foods[:]
113 
114 print("我最喜欢的食物是:")
115 print(my_foods)
116 
117 print("\n我朋友最喜欢的食物是:")
118 print(friend_foods)
119 
120 # 确认是否为两个列表,用append()方法分别添加元素测试
121 my_foods.append('hamburger')
122 friend_foods.append('ice cream')
123 
124 print("我最喜欢的食物:")
125 print(my_foods)
126 
127 print("我朋友最喜欢的食物:")
128 print(friend_foods)
129 
130 # 如果我们简单地将my_foods赋给friend_foods,就不能得到两个列表。
131 print("\n直接将my_foods赋值给friend_foods就不能得到两个列表")
132 my_foods = ['pizza', 'falafel', 'carrot cake']
133 
134 # 这样行不通
135 friend_foods = my_foods
136 
137 my_foods.append('hamburger')
138 friend_foods.append('ice cream')
139 
140 print("我最喜欢的食物:")
141 print(my_foods)
142 
143 print("我朋友最喜欢的食物:")
144 print(friend_foods)
145 
146 # 元组
147 print("\n元组:")
148 # Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
149 # 有时候我们需要创建一系列不可修改的元素,元组可以满足这种需求。
150 # 定义元组,元组看起来犹如列表,但使用圆括号而不是方括号来标识。
151 # 如果有一个大小不应改变的矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的。
152 dimensions = (200, 50)
153 print(dimensions[0])
154 print(dimensions[1])
155 
156 """
157 # 尝试修改元组中的一个元素,将会返回一个类型错误。
158 dimensions[0] = 250
159 """
160 
161 # 遍历元组中的所有值。
162 print("\n遍历元组中的所有值:")
163 dimensions = (200, 50)
164 for dimension in dimensions:
165     print(dimension)
166 
167 # 修改元组变量
168 # 虽然不能修改元组的元素,但可以给存储的变量赋值。
169 # 给元组变量赋值是合法的。
170 dimensions = (200, 50)
171 print("\n原始元组:")
172 for dimension in dimensions:
173     print(dimension)
174 
175 dimensions = (400, 100)
176 print("修改变量后的元组:")
177 for dimension in dimensions:
178     print(dimension)
179 
180 # 相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。

猜你喜欢

转载自www.cnblogs.com/buyan/p/12317554.html