《Python编程从入门到实践》第三章_列表简介

3.1什么是列表

官方说明就是由一些列按特点顺序排列的元素组成。其实可以看出很多个字符串的有序组合吧,里面的内容可以随时的删除,增加,修改。

下面这个就是一个列表,python打印列表的时候会将中括号和引号打印出来的

name = ['liubin', 'liujian', 'liuliu']
print(name)

有序的列表

和大多数编程语言一样,列表的第一个元素的索引是0,而不是1。如果要输出最后一个元素可以使用-1,倒数第二个可以使用-2,以此类推。

name = ['liubin', 'liujian', 'liuliu']
print(name)
# 如何访问列表元素
print(name[0])
print(name[0].title())
# 索引从0而不是1开始
print(name[0])
print(name[1])
print(name[2])
# python为访问最后一个列表元素提供一个特殊语法 通过将索引指定为-1
print(name[-1])

3.2列表的修改、添加和删除元素

修改:其实就是对元素的重新赋值

# 使用列表中的各个值
bicycle = ['trek', 'cannondale', 'redline', 'specialized']
message = "My first bicycle was a " + bicycle[0].title() + "!"
print(message)
# 修改 添加 删除 元素
# 修改列表元素
bicycle = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycle)
bicycle[0] = 'ddd'
print(bicycle)

在末尾添加:append()

 在列表中插入:insert(索引,字符串)

del语句删除元素,需要知道元素在列表中索引,删除后,无法再次访问它了

pop()弹出元素,默认是弹出最顶层的元素,就是最后一个,如果知道元素在列表中的位置,可以添加索引弹出

有的时候你不知道元素的位置,但是知道元素的内容,可以使用remove('字符串')或者remove(变量)来删除,remove()只能删除第一个指定的值,删除的值可能在列表中出现多次,就需要使用后面学习到的循环了。

# 在列表末尾添加元素  方法append()将元素添加到了列表末尾 不影响其他元素
bicycle = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycle)
bicycle.append('aaa')
print(bicycle)
# append()让动态创建列表易如反掌
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
# 列表中插入元素 使用方法insert()可在列表中任何位置中添加新元素 为此你需要指出新元素的索引和值
motorcycles.insert(0, 'aaa')
print(motorcycles)
# 从列表中删除元素
# 1 使用del语句删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
# 使用del删除了列表中第一个元素
del motorcycles[0]
del motorcycles[1]
print(motorcycles)
# 2 使用方法pop()删除元素
# 方法pop()可删除列表末尾的元素:列表就像一个栈 而删除列表末尾的元素相当于弹出栈顶元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
# 3 弹出列表中任何位置处的元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
first_owned = motorcycles.pop(0)
print("The first motorcycle I owned was a "+ first_owned.title() + "!")
# 如果你不确定使用del语句还是pop()方法 判断标准:
# 如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句 如果你要在删除元素后还能继续使用它
# 就使用方法pop()

# 4 根据值删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

motorcycles.remove('honda')
print(motorcycles)
# 使用remove从列表中删除元素时 也可接着使用它的值
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
too_expensive = 'honda'
motorcycles.remove(too_expensive)
print(motorcycles)
print("\nA " + too_expensive.title() + "is too expensive for me.")
# 方法remove只能删除指定值出现的第一个 如果要删除的值在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值
输出:
['trek', 'cannondale', 'redline', 'specialized']
['trek', 'cannondale', 'redline', 'specialized', 'aaa']
['honda', 'yamaha', 'suzuki']
['aaa', 'honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki']
['yamaha']
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki
['honda', 'yamaha', 'suzuki']
The first motorcycle I owned was a Honda!
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']

A Hondais too expensive for me.

3.3 组织列表

永久性排序

方法sort()对列表进行永久的排序

向方法传递参数reverse=Ture可以倒着排序

临时性排序

如果你要按与字母顺序相反的顺序显示列表,也可以向函数sorted()传递参数reverse=Ture

方法reverse()反正列表

求列表的长度

函数len()可以知道列表的长度,python计算元素个数的时候,是从1开始的。

# 3.3.1 使用方法sort()对列表进行永久性排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
# 还可以按与字母顺序相反的顺序排列列表元素
# 只需向sort()方法传递参数reverse = True
cars.sort(reverse=True)
print(cars)
# 3.3.2 使用函数sorted()对列表进行临时排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
# 发现调用函数sorted()函数后,列表元素的排列顺序并没有变化
print("\nHers is the sorted list:")
print(sorted(cars))
print("\nHers is the original list:")
print(cars)
# 如果你要按与字母顺序相反的顺序显示列表 也可向sorted()传递参数reverse = True
cars = ['bmw', 'audi', 'toyota', 'subaru']
# 3.3.3 倒着打印列表 方法reverse()反正列表
cars.reverse()
print(cars)
# 3.3.4 确定列表的长度
# 函数len()可快速获悉列表的长度
# python计算列表元素数时从1开始 因此确定列表长度时,不会遇到差一错误
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(len(cars))
# 3.4 使用列表时避免索引错误
motorcycles = ['honda', 'yamaha', 'suzuki']
# print(motorcycles[3])  IndexError: list index out of range
# 每当需要访问最后一个列表元素时 都可使用索引-1 这在任何情况下都行之有效
print(motorcycles[-1])
# 仅当列表为空 这种访问最后一个元素的方式才会导致错误、
# motorcycles = []
# print(motorcycles[-1])
######################################################################################
C:\Anaconda3\python.exe H:/python/venv/text
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']
Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']

Hers is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']

Hers is the original list:
['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']
4
suzuki

Process finished with exit code 0


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值