python学习2:列表

python学习2:列表

1 列表是什么

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

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
结果:
['trek', 'cannondale', 'redline', 'specialized']

1.1 访问列表元素

  • 列表是有序集合,因此访问列表的任意元素,只需要将该元素的位置(索引)告诉python即可。
print(bicycles[0])
结果:
trek
  • 在python中,第一个列表元素的索引为0,而不是1。
print(bicycles[1].title())
message = f'My first bicycle was a {bicycles[0].title()}.'
print(message)
结果:
Cannondale
My first bicycle was a Trek.

因此返回的是第二个元素而不是第一个。

  • python为访问最后一个列表元素提供了一种方法,通过将索引指定为-1,可以使python返回最后一个列表元素。
print(bicycles[-1].title())
结果:
Specialized

2 修改、添加和删除元素

2.1 修改列表元素

要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素新值。

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0]='ducati'
print(motorcycles)
结果:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']

2.2 在列表中添加元素

1. 在列表末尾添加元素
在列表中添加新元素时,最简单的方式是将元素附加append到列表,它将添加到列表末尾。

motorcycles.append('ducati')  # append在末尾添加
print(motorcycles)
结果:
['ducati', 'yamaha', 'suzuki', 'ducati']

2. 在列表中插入元素
使用insert()可在列表的任何位置添加新元素。

motorcycles.insert(1, 'bentian')  # insert在指定位置添加
print(motorcycles)
结果:
['ducati', 'bentian', 'yamaha', 'suzuki', 'ducati']

即在索引1处添加空间,并将bentian存储到这个位置。

2.3 从列表中删除元素

1. 使用del语句删除元素
如果知道删除的元素在列表中的位置,可以使用del语句。

del motorcycles[1]  # del删除指定位置的列表元素
print(motorcycles)
结果:
['ducati', 'yamaha', 'suzuki', 'ducati']

2. 使用pop删除元素
pop()删除列表末尾的元素,并让你可以接着使用它。

last_owned = motorcycles.pop()  # pop()删除列表末尾元素,并让你能够接着使用它
print(motorcycles)
print(last_owned)
结果:
['ducati', 'yamaha', 'suzuki']
ducati

3. 弹出列表中任何位置处的元素
可以使用pop()来删除列表中任意位置的元素,只需要在括号中指定要删除的元素的索引即可。

first_owned = motorcycles.pop(0)  # pop()删除列表中任意未知的元素,只需在圆括号中指定要删除元素的索引
print(f'The first motorcycle I owned was a {first_owned.title()}.')
结果:
[ 'yamaha', 'suzuki','ducati']
  • 使用del语句还是pop方法的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用pop。
    4. 根据值删除元素
    有时,不知道从列表中删除值所在的位置,如果只知道要删除元素的值,可使用方法remove()
motorcycles.remove('yamaha')  # remove删除指定元素值
print(motorcycles)
结果:
[ 'suzuki','ducati']
  • 方法remove只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除。

3 组织列表

3.1 使用sort对列表永久排序

sort()可以实现对列表进行永久排序

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()  # sort可以让其中的元素按字母顺序排列,是永久性的
print(cars)
结果:
['audi', 'bmw', 'subaru', 'toyota']

还可以按与字母顺序相反的顺序排列列表元素,只需向sort()传递参数reverse=True

cars.sort(reverse=True)
print(cars)
结果:
['toyota', 'subaru', 'bmw', 'audi']

3.2 使用sorted对列表临时排序

sorted()可以按特定的顺序显示列表元素,同时不影响他们在列表中的原始排列顺序。

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(sorted(cars))  # sorted()能够按特定顺序显示列表元素,同时不影响在列表中的原始排列顺序
print(sorted(cars, reverse=True))  # 按照字母顺序相反排列元素
print(cars)
结果:
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']
['bmw', 'audi', 'toyota', 'subaru']

3.3 倒着打印列表

reserve()可以反转列表元素顺序。

cars.reverse()  # reverse不是按与字母顺序相反的顺序排列元素,而只是反转列表元素的排列顺序

3.4 确定列表长度

len()可以快速获悉列表的长度。

4 使用列表时避免索引错误

发生索引错误时,可以尝试将列表长度打印出来,结果可能与所想的不一样。

5 补充

参考《python编辑从入门到实践》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值