上一篇中,提到了两种简单的数据类型,字符串和数字,还有其他的列表、元组、字典、集合等。
列表是新手可直接使用的最强大的 Python 功能之一,融合了很多编程概念。
列表由一系列特定顺序排列的元素组成。元素概念与 Shell 数组中一致,可以将任何东西加入列表。
在 Python 中,用 [ ]
来表示列表,并用逗号分隔其中的元素,如使用列表来表示水果
fruits = ['apple', 'banana', 'orange']
print(fruits)
---
# 运行结果
['apple', 'banana', 'orange']
可以看到输出结果中,方括号也被打印出来了,这可不是想让用户看到的
访问列表元素
直接套入 Shell 数组的访问方式即可,通过索引来获取列表的元素
fruits = ['apple', 'banana', 'orange']
print(fruits[0])
print(fruits[1].title())
print(fruits[2].upper())
---
# 运行结果
apple
Banana
ORANGE
Python 还为访问最后一个列表元素提供了特殊的方法,索引 -1 表示最后一个列表元素
fruits = ['apple', 'banana', 'orange']
print(fruits[-1])
print(fruits[-2])
print(fruits[-3])
---
# 运行结果
orange
banana
apple
可以像使用正常变量一样,使用列表元素
fruits = ['apple', 'banana', 'orange']
print("My favorite fruit is " + fruits[1].title())
---
# 运行结果
My favorite fruit is Banana
修改列表元素
大多数列表的应用场景都是动态的,也就是列表创建后,随着程序的运行增删元素
修改列表元素,同样套用 Shell 的方法,也就是索引重新赋值即可
fruits = ['apple', 'banana', 'orange']
print(fruits[0])
print(fruits)
fruits[0] = 'mango'
print(fruits[0])
print(fruits)
---
# 运行结果
apple
['apple', 'banana', 'orange']
mango
['mango', 'banana', 'orange']
添加列表元素
同为添加位置分为两种方法,末尾添加和指定位置添加
末尾添加append()
fruits = ['apple', 'banana', 'orange']
fruits.append('mongo')
print(fruits)
---
# 运行结果
['apple', 'banana', 'orange', 'mongo']
还有一种创建列表元素的方式是先创建一个空列表,然后使用 append()
函数一个个添加元素
fruits = []
fruits.append('apple')
fruits.append('banana')
fruits.append('orange')
print(fruits)
---
# 运行结果
['apple', 'banana', 'orange']
这种方式极为常见,因为经常要等程序运行之后,才会知道用户要输入什么数据。为了控制用户,可先创建空列表,存储用户输入的值
插入元素insert()
使用 insert()
可以在列表任意位置添加新元素,通过索引来指定位置
fruits = ['apple', 'banana', 'orange']
fruits.insert(1, 'mongo')
print(fruits)
---
# 运行结果
['apple', 'mongo', 'banana', 'orange']
删除列表元素
del删除元素
在知道要删除的元素的索引,可以使用 del 删除元素
fruits = ['apple', 'banana', 'orange']
del fruits[1]
print(fruits)
---
# 运行结果
['apple', 'orange']
pop()删除元素
术语来讲是将元素弹出,弹出后可以重新定义一个变量赋值为弹出的值,以便接着使用
默认弹出列表最后一个元素
fruits = ['apple', 'banana', 'orange']
fruit = fruits.pop()
print(fruits)
print(fruit)
print("I don't like to eat " + fruit)
---
# 运行结果
['apple', 'banana']
orange
I don't like to eat orange
pop()
也可以弹出指定位置的元素,前提依然是需要知道元素所在位置,在括号中输入索引位置即可
fruits = ['apple', 'banana', 'orange']
like_fruit = fruits.pop(1)
print(fruits)
print("I like to eat " + like_fruit)
---
# 运行结果
['apple', 'orange']
I like to eat banana
remove()删除元素
适用于不知道元素索引,仅知道元素值,
fruits = ['apple', 'banana', 'orange']
fruits.remove('banana')
print(fruits)
---
# 运行结果
['apple', 'orange']
与 pop()
一样可以复用删除值
fruits = ['apple', 'banana', 'orange']
like_fruit = ('banana')
fruits.remove(like_fruit)
print("I like to eat " + like_fruit)
---
# 运行结果
I like to eat banana
组织列表
对列表元素进行排序,列表元素的顺序是无法预测的,尤其是通过用户提供的数据
永久排序sort()
sort()
是按照字母顺序进行排列的
fruits = ['banana', 'orange', 'apple']
fruits.sort()
print(fruits)
---
# 运行结果
['apple', 'banana', 'orange']
按照字母反序排列,sort(reverse=True)
fruits = ['banana', 'orange', 'apple']
fruits.sort(reverse=True)
print(fruits)
---
# 运行结果
['orange', 'banana', 'apple']
临时排序sorted()
在保留原有顺序的基础上,按照字母顺序打印
fruits = ['banana', 'orange', 'apple']
print(sorted(fruits))
print(fruits)
---
# 运行结果
['apple', 'banana', 'orange']
['banana', 'orange', 'apple']
按照字母反序排列,sorted( , reverse=True)
fruits = ['banana', 'orange', 'apple']
print(sorted(fruits, reverse=True))
---
# 运行结果
['orange', 'banana', 'apple']
倒序打印列表reverse()
永久性排序,想要恢复原有顺序,再次使用该方法即可
fruits = ['banana', 'orange', 'apple']
fruits.reverse()
print(fruits)
---
# 运行结果
['apple', 'orange', 'banana']
列表长度len()
len()
函数用来计算列表中的元素个数,可以达到统计列表中剩余个数的效果
fruits = ['banana', 'orange', 'apple']
print(len(fruits))
---
# 运行结果
3