《Python编程从入门到实践》_第四章_操作列表

for循环遍历整个列表

pizzas = ['pizzahut','dicos','KFC']
for pizza in pizzas:
    print ("I like "+ pizza + " pizza!")
print ("I really like pizza")
运行结果
I like pizzahut pizza!
I like dicos pizza!
I like KFC pizza!
I really like pizza
注意点:
编写for循环的时候,对于用于存储列表中每个值的临时变量,可以指定任何名称,最好是选择有意义的;
python根据缩进来判断代码行与前一个代码行的关系,同一个缩进的代码属于同一个等级;
不要遗漏for语句后的冒号:
 

函数range()可以轻松生成一系列的数字

for value in range(0,5):
    print (value)
#运行结果
0
1
2
3
4

 注意,只打印到你指定的第二个值后停止。使用range(),如果输出不符号预期,请尝试将指定的值加一或者减一。

 

创建数字列表

可以将range()的输出结果输入到函数list()中,直接转换为列表。 
numbers = list(range(1,5))
print (numbers)
#运行结果
[1, 2, 3, 4]

 还可以指定步长

numbers = list(range(1,10,2))
print (numbers)
#运行结果
[1, 3, 5, 7, 9]

 

 

将1-10的平方的值加到一个列表里面去

squares = []
for number in range(1,11):
    square = number **2           #这两步可以简写为squares.append(number**2)
    squares.append(square)        #
print (squares)
#运行结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

 列表解析

squares = [value**2 for value in range(1,11)]
print (squares)
#运行结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 要使用这种语法,首先指定一个描述性的列表名,如squares;然后指定一个左方括号,并定义一个表达式

 

切片

 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。

players = ['charles','martina','michael','eli']
print (players[0:3])
#运行结果
['charles', 'martina', 'michael']
players = ['charles','martina','michael','eli']
print (players[1:])  #如果没有指定最后一个位置,则一直切到尾部
#运行结果
['martina', 'michael', 'eli']
players = ['charles','martina','michael','eli']
print (players[:3])
#运行结果
['charles', 'martina', 'michael']
players = ['charles','martina','michael','eli']
print (players[-2:])
#运行结果
['michael', 'eli']

可以是用for循环来遍历切片的数据

players = ['charles','martina','michael','eli']
for player in players[1:4]:
    print (player)
#运行结果
martina
michael
eli

可以是索引[:]来复制列表,如果简单的使用等于号来将一个列表赋值给另一个列表,可以理解为这两个列表都指向的是同一个列表空间,改变其中一个列表就会改变另一个。

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods
my_foods.append('cannoli')
friend_foods.append('ice cream')
print("My favorite foods are:")
print(my_foods)
My favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
print("\nMy friend's favorite foods are:")
print(friend_foods)
My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']

 

元组

 元组使用圆括号来标识,元组里面的元素不可增删,不可直接赋值修改!
dimensions = (200,50)
print (dimensions[0])
print (dimensions[1])
#运行结果
200
50

可以是用for循环来遍历整个元组

虽然不能修改元组的元素,但可以给存储元组的变量赋值,因此,如果要修改,只能重新定义整个元组。
dimensions = (200,50)
for dimension in dimensions:
    print (dimension)
dimensions = (100,120)
for dimension in dimensions:
    print (dimension)
#运行结果
200
50
100
120

 

 
 
 
 
 
 
 
posted @ 2017-06-03 15:51  liubinsh  阅读(732)  评论(0编辑  收藏  举报