学习笔记3(第4章:操作列表)

1、函数range()可以生成一系列数字:

for value in range(1,5):
    print(value)
1
2
3
4

函数range()让Python从指定的第一个值开始数,并在达到第二个值后停止,不包括第二个值。

2、要创建数字列表可使用函数list()将range()的结果直接转换为列表。将range()作为list()的参数,输出将为一个数字的列表。

numbers = list(range(2, 11,2))  #步长为2
print(numbers)

squares=[]
for values in range(1,11):
    squares.append(values**2)
print(squares)

输出结果:

[2, 4, 6, 8, 10]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3、列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

   上例生成squares的方式包含三四行代码,而列表解析只需要一行代码。

   要创建自己的列表解析,需要经过一定的练习!!!

squares = [value ** 2 for value in range(1, 11)]  #注意这里的for语句末尾没有冒号
print(squares)

输出结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

4、要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1。

players=['charles','matina','michael','florence','eli']
print(players[1:3]) #切片包含两名队员
print(players[1:])  #省略终止索引,切片终止于末尾
print(players[:3])  #没有指定起始索引从头提取
print(players[-3:]) #打印最后三个队员的名单

输出:

['matina', 'michael']
['matina', 'michael', 'florence', 'eli']
['charles', 'matina', 'michael']
['michael', 'florence', 'eli']

5、切片可用来快速复制列表,且原列表不发生任何改变。

my_foods = ['pizza', 'falafel', 'cake']
friend_foods = my_foods[:]

my_foods.append('cannoli')
friend_foods.append('ice cream')

print('My favourite foods are:')
print(my_foods)
print("My friend's favourite foods are :")
print(friend_foods)

输出结果:

My favourite foods are:
['pizza', 'falafel', 'cake', 'cannoli']
My friend's favourite foods are :
['pizza', 'falafel', 'cake', 'ice cream']

如果不用切片复制列表:

my_foods = ['pizza', 'falafel', 'cake']
friend_foods = my_foods

my_foods.append('cannoli')
friend_foods.append('ice cream')

print('My favourite foods are:')
print(my_foods)
print("\nMy friend's favourite foods are :")
print(friend_foods)

输出结果:

My favourite foods are:
['pizza', 'falafel', 'cake', 'cannoli', 'ice cream']

My friend's favourite foods are :
['pizza', 'falafel', 'cake', 'cannoli', 'ice cream']

6、列表非常适合用于存储在程序运行期间可能变化的数据集。Python将不能修改的值称为不可变的,而不可变的列表被称为元组

   元组——tuple——只读的列表

   元组使用圆括号来标识,逗号隔开元素。使用索引来访问其元素。

 

posted @ 2019-07-12 15:07  橘子酱ing  阅读(343)  评论(0编辑  收藏  举报