Day4 列表 part 3及for循环
与C、C++、Pascal、Java等不同,Python变量随用随定义即可?只要有赋值操作即可?
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print (magician)
这里的变量magician无需提前定义,即用即定义。
- for
- 别忘了for语句后面加冒号;
- for语句后面的缩进,所有缩进的语句都是需要执行for循环的语句,直到第一条非缩进语句结束;
- 注意不必要的缩进,造成逻辑或语法错误。
- for遍历列表时,先获取第一个元素,并存储在变量中,然后再第二个,依次下去;
for bicycle in bicycles print bicycle
- 数值列表
- range() 函数, 产生一系列数字,参数:起始值, 结束值, 步长;
- list() 函数,创建数字列表,结合range()使用,将rang()函数产生的数字系列构成一个列表,那么,下面的代码返回结果是什么?
even_numbers = range(2,11,2) print (even_numbers)
- min() 函数,max() 函数,sum() 函数;
- 切片(列表的一部分)
- 指定起始值(如不指定则从0开始)及结束值(如不指定则到末尾)
- 负数索引返回离列表末尾相应距离的元素
players = ['charles', 'martina', 'michael', 'florence', 'eli'] print (players[0 : 3]) print (players[:3]) print (players[1:]) print (players[-3:])
- 复制列表
- [:]
my_foods = ['pizza', 'falafei', 'carrot cake'] friend_foods = my_foods[:]
- 注意复制和直接变量 ‘=’的区别,如下面的代码:
直接变量‘=’,不是复制列表,而是将两个变量都指向一个列表(类似C++中指向同一地址的两个指针);因此,下面的代码输出,两个变量my_foods和friend_foods是一样的。my_foods = ['pizza', 'falafei', 'carrot cake'] friend_foods = my_foods
my_foods = ['pizza', 'falafei', 'carrot cake'] friend_foods = my_foods my_foods.append('cannoli') friend_foods.append('ice cream') print ("My favorite foods are: ") print (my_foods) print ("\nMy friend's favorite foods are: ") print (friend_foods)
- [:]