《Python编程:从入门到实践》读书笔记第三章、第四章

僤鯓⒐⒋嵵緔 提交于 2020-01-14 04:46:27

列表

  • 列表由一系列按特定顺序排列的元素组成。在Python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素。
input:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)

output:
['trek', 'cannondale', 'redline', 'specialized']
 
  1. 访问列表元素

  • 列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。在Python中,第一个列表元素的索引为0,而不是1。在大多数编程语言中都是如此,这与列表操作的底层实现相关。
input:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])

output:
trek
  •  Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1 ,可让Python返回最后一个列表元素:
input:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1])


output:
specialized

2. 修改、添加和删除元素

  1. 利用索引修改列表元素  :列表名[index]
  2. 列表末尾添加元素 : 列表名.append()
  3. 在列表中插入元素: 列表名.insert(index, value)
  4. 在列表中删除元素 :del 列表名[index]  (使用del删除后,便无法再次访问)
  5. 使用pop弹出列表中的元素:
input:
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)


output:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki

  6. 使用remove() 根据值删除元素

input:
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)


output:
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
 

3. 组织列表

 1. 使用sort()方法对列表进行永久性排序

input:
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
cars1 = cars.sort(reverse=TRUE) #对列表元素永久性逆转
print(cars1)

output:
['audi', 'bmw', 'subaru', 'toyota'] 
['toyota', 'subaru', 'bmw', 'audi']

2. 使用sorted方法对列表进行临时排序

input:
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)


output:
Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']
Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']
 

3.确定列表的长度 : len(列表名)

4.操作列表

 

1. 循环列表

magicians = ['alice', 'david', 'carolina'] 
for magician in magicians: 
print(magician)

output:
lice 
david 
carolina

2. 使用range(index, index, step)创建数值列表

numbers = list(range(1,6)) 
print(numbers)

output:
[1, 2, 3, 4, 5]

3. 切片

players = ['charles', 'martina', 'michael', 'florence', 'eli'] 
print(players[0:3])

output:
['charles', 'martina', 'michael']

   遍历切片

players = ['charles', 'martina', 'michael', 'florence', 'eli'] 
for player in players[:3]: 
    print(player.title())
        
output:
 Charles 
 Martina 
 Michael


 4. 复制列表(在Python中赋值只是对对象的引用)

my_foods = ['pizza', 'falafel', 'carrot cake'] 
friend_foods = my_foods[:]
print(my_foods) 
print(friend_foods)

output:
['pizza', 'falafel', 'carrot cake']
 ['pizza', 'falafel', 'carrot cake']

为核实确实有两个列表,下面在每个列表中都添加一种食品,并核实每个列表都记录了相应人员喜欢的食品:
 

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) 
print("\nMy friend's favorite foods are:") 
print(friend_foods)

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

元祖


    列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,元组可以满足这种需求。Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组 。

1. 定义元祖

 dimensions = (200, 50)

2. 遍历元祖的值

dimensions = (200, 50) 
for dimension in dimensions: 
    print(dimension)

output:
200
50

3. 虽然不能修改元组的元素,但可以给存储元组的变量赋值。

dimensions = (200, 50) 
print("Original dimensions:") 
for dimension in dimensions: 
    print(dimension) 
dimensions = (400, 100) 
print("\nModified dimensions:")
for dimension in dimensions: 
    print(dimension)
output:
Original dimensions:
200 
50
Modified dimensions: 
400 
100


相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。
    

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!