for()循环可对列表“magicians”依次进行取值并赋值给“magician”。
重点:在for()循环后面,没有缩进的代码只执行一次,不会重复。在编码是切记规范缩进
- magicians = ['alice','david','carolina']
- for magician in magicians:
- print(magician.title())
- print("Is't End.")
- print("Is End.")
-
- # RESULT
- '''
- Alice
- Is't End.
- David
- Is't End.
- Carolina
- Is't End.
- Is End.
- '''
1、函数range()
Python函数range()让你能够轻松地生成一系列数,需要注意的是range()存在编程语言常见的差一行行为,如下示例到达‘5’时停止并不会去执行。当只传入一个值时,将从0开始。
- for value in range(1, 5):
- print(value)
-
- # RESULT
- '''
- 1
- 2
- 3
- 4
- '''
2、使用range()创建数字列表
range()第三个参数可以指定步长,例如‘2’表示列表中的数字依次增加2
- list = list(range(0, 10, 2))
- print(list)
-
- # RESULT
- '''
- [0, 2, 4, 6, 8]
- '''
3、简单统计计算
- digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
- print(min(digits))
- print(max(digits))
- print(sum(digits))
-
- # RESULT
- '''
- 0
- 9
- 45
- '''
4、列表解析
- squares = [value**2 for value in range(1, 11)]
- print(squares)
-
- # RESULT
- '''
- [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
- '''
1、切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。
缺省第一个索引,Python将自动从列表头开始。
缺省第二个索引,将从第一个索引值开始遍历到列表末尾。第一索引为负数时则表示输出列表最后几个元素。
超出索引范围打印空
- players = ['charles', 'martina', 'michael', 'florence', 'eli']
- print(players[1:3])
- print(players[:4])
- print(players[3:])
- print(players[-2:])
-
- print(players[:10])
- print(players[6:])
-
- # RESULT
- '''
- ['martina', 'michael']
- ['charles', 'martina', 'michael', 'florence']
- ['florence', 'eli']
- ['florence', 'eli']
- ['charles', 'martina', 'michael', 'florence', 'eli']
- []
- '''
2、遍历切片
- players = ['charles', 'martina', 'michael', 'florence', 'eli']
- for player in players[:3]:
- print(player.title())
-
- # RESULT
- '''
- Charles
- Martina
- Michael
- '''
3、复制列表
复制列表需要创建一个包含整个列表的切片即同时省略起始索引和终止索引([:])。
需要注意的是不能直接将列表赋值给新增的列表,这样只是将两个变量指向同一个列表。
- foods = ['pizza', 'falafel', 'cake']
- food1 = foods
- food2 = foods[:]
- foods.append('ice')
- print(food1)
- print(food2)
-
- # RESULT
- '''
- ['pizza', 'falafel', 'cake', 'ice']
- ['pizza', 'falafel', 'cake']
- '''
Python将不能修改的值称为不可变得,而不可变得列表称为元组
1、定义元组
元组看起来很像列表,但使用圆括号而非中括号来标识。定义元组后,就可使用索引来访问其元素,就像访问列表元素一样。当试图去修改元素并运行的操作是被禁止的。
- dimensions = (200, 'adc', 100)
- for dimedsion in dimensions:
- print(dimedsion)
-
- dimensions[0] = 250
-
- # RESULT
- '''
- 200
- adc
- 100
- Traceback (most recent call last):
- File "/home/zhaotj/work/python-script/list.py", line 7, in
- dimensions[0] = 250
- TypeError: 'tuple' object does not support item assignment
- '''
2、修改元组变量
虽然不能去修改元组的元素,但是可以重新赋值给存储元组的变量。
- dimensions = (200, 'adc', 100)
- print("Original dimensions:")
- for dimedsion in dimensions:
- print(dimedsion)
-
-
- dimensions = (100, 'efg', 250)
- print("\nModified dimensions:")
- for dimedsion in dimensions:
- print(dimedsion)
-
-
- # RESULT
- '''
- Original dimensions:
- 200
- adc
- 100
- Modified dimensions:
- 100
- efg
- 250
- '''