Python编程:从入门到实践(二)

第三章 列表简介

  1. 列表是什么
    列表是由一系列按特定顺序排列的元素组成。在Python中,用方括号[]来表示列表,并用逗号来分隔其中的元素。

  2. 访问列表元素

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
#索引从0开始
print(bicycles[0])
print(bicycles[0].title())
#Python为访问最后一个列表元素提供了一种特殊语法。
#通过将索引指定为-1,可让Python返回最后一个列表元素
#这种语法很有用,因为你经常需要在不知道列表长度的情况下访问最后的元素
#这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,以此类推
print(bicycles[-1])
print(bicycles[3])
print(bicycles[-2])
print(bicycles[2])
#可以像使用其他变量一样使用列表中的每个值,并使用这个值来创建一条消息
message = "My first bicycle was a " + bicycles[0].title() +"."
print(message)
  1. 修改、添加和删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
#修改列表元素
motorcycles[0] = 'ducati'
print(motorcycles)
#在列表末尾添加元素
#方法append()将元素添加到列表末尾,而并不影响其他元素
motorcycles.append('honda')
print(motorcycles)
#append()让动态地创建列表易如反掌,例如,可以先创建一个空列表,再使用一系列的append()语句添加元素
motorcycles_1 = []
motorcycles_1.append('ducati')
motorcycles_1.append('yamaha')
motorcycles_1.append('suzuki')
motorcycles_1.append('honda')
print(motorcycles_1)
#在列表中插入元素
motorcycles.insert(0, 'aotoman')
print(motorcycles)
#从列表中删除元素
#如果知道要删除的元素在列表中的位置,可以使用del语句
del motorcycles[0]
print(motorcycles)
#使用方法pop()删除元素
#方法pop()可删除列表末尾的元素,并让你能够继续使用它
#类比,列表就像一个栈,而删除列表末尾的元素就相当于弹出栈顶元素
#末尾的值存储在变量popped_motorcycle中
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
#弹出列表中任何位置处的元素
#如果不确定该使用del语句还是pop()方法,下面是判断标准:
#如果要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句
#如果要在删除元素之后还能继续使用它,就使用方法pop()
motorcycles.pop(0)
print(motorcycles)
#根据值删除元素
#如果不知道要从列表中删除的值所处的位置,只知道要删除的元素的值,使用方法remove()
#使用remove()从列表中删除元素时,也可继续使用它的值
#方法remove()只删除第一个指定的值,如果删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
wanted_del = 'yamaha'
motorcycles.remove(wanted_del)
print(motorcycles)

输出:

['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki', 'honda']
['ducati', 'yamaha', 'suzuki', 'honda']
['aotoman', 'ducati', 'yamaha', 'suzuki', 'honda']
['ducati', 'yamaha', 'suzuki', 'honda']
['ducati', 'yamaha', 'suzuki']
honda
['yamaha', 'suzuki']
['suzuki']

4.组织列表

#Python方法sort()可以对列表进行排序
#按字母顺序排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
#还可以按照与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=True
cars.sort(reverse=True)
print(cars)
#要保留列表元素原来的排列顺序,可以以特定的顺序呈现他们,可使用函数sorted()
#在并非所有的值都是小写时,按字母顺序排列列表要复杂些。
print(sorted(cars))
print(cars)
#倒着打印列表
#要反转列表元素的排列顺序,可使用方法reverse()
#reverse()不是指按与字母排列顺序相反的顺序排列列表元素,只是反转列表元素的排列顺序
#想要恢复原来的排列顺序,只需要对列表再次调用reverse()即可
cars.reverse()
print(cars)
#确定列表的长度
#使用函数len()可快速获悉列表的长度
print(len(cars))

输出:

['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']
['audi', 'bmw', 'subaru', 'toyota']
4

5.使用列表时避免索引错误
发生索引错误却找不到解决办法时,请尝试将列表或其长度打印出来。列表可能与你以为的截然不同,在程序对其进行了动态处理时尤其如此。通过查看列表或其包含的元素数,可帮你找出这种逻辑错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值