????????一种可以容纳多份数据的数据容器,容纳的每一份数据称之为一个元素,每一个元素,可以是任意类型的数据,如:字符串,数字,布尔等等。
????????数据容器根据特点的不同,可分为5类:
分别是:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
# 字面量
[元素1, 元素2, 元素3, ……]
# 定义变量
变量名称 = [元素1, 元素2, 元素3, ……]
# 定义空列表
变量名称 = []
变量名称 = list()
列表内的每一个数据,称之为元素
my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list)
print(type(my_list))
输出结果:
如上图:列表中的每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增
代码演示:
def func02():
my_list = ['I', 'belive', 'in', 'you.']
for i in range(len(my_list)):
"""
len(my_list)表示my_list这个列表的长度
因为range的取值默认是从 0 开始的
然后最后一个值又取不到
所以说正好拿来遍历列表
"""
print(f'{my_list[i]} ', end="")
if __name__ == '__main__':
func02()
或者,可以反向索引,也就是从后向前:从-1开始,依次递减(-1, -2, -3, ……)
如果是嵌套的列表,同样支持下表索引
来个小案例试试手:
? ? 我想要取到day这个单词,分别使用正向索引与反向索引
def func03():
my_list = [
['Listen', 'to', 'your', 'heart.'],
['Each', 'day', 'brings', 'a', 'new', 'beginning.']
]
# 我想要取到day这个单词,分别使用正向索引与反向索引
# 正向索引:
print(my_list[1][1])
# 反向索引:
print(my_list[-1][-5])
列表除了可以:定义、使用下表索引获取值以外,还可以插入元素、删除元素、清空列表、修改元素、统计元素个数等等功能,这些功能我们都称之为:列表的方法
编号 | 使用方式 | 作用 |
1 | 列表.append(元素) | 向列表中追加一个元素 |
2 | 列表.extend(容器) | 将数据容器的内容依次取出,追加到列表的尾部 |
3 | 列表.insert(下标, 元素) | 在指定下标处,插入指定的元素 |
4 | del 列表[下标] | 删除列表指定下标元素 |
5 | 列表.pop(下标) | 删除列表指定下标元素 |
6 | 列表.remove(元素) | 从前向后,删除此元素第一个匹配项 |
7 | 列表.clear() | 清空列表 |
8 | 列表.count(元素) | 统计此元素在列表中出现的次数 |
9 | 列表.index(元素) | 查找指定元素在列表的下标,找不到报错ValueError |
10 | len(列表) | 统计容器内有多少元素 |
接下来就来一一演示这些方法:
def func04():
my_list = ['hello', 'world', 'and', 'hello', 'Python']
print(f'未加处理的列表:{my_list}')
# 向列表中追加一个元素
my_list.append('and')
print(f'追加元素之后的列表:{my_list}')
# 将数据容器的内容依次取出,追加到列表的尾部
my_list02 = ['I', 'like', 'Python']
my_list.extend(my_list02)
print(f'讲一个容器内的元素全部取出放到另外一个容器内:{my_list}')
# 在指定下标处,插入指定的元素
my_list.insert(2, 'troublemaker')
print(f'在指定位置插入指定元素:{my_list}')
# 删除列表指定下标元素————方法一
del my_list[2]
print(f'删除指定位置元素之的列表:{my_list}')
# 删除列表指定位置下标元素
my_list.pop(3)
print(f'删除列表指定位置元素之后的列表:{my_list}')
# 从前向后,删除此元素的第一个匹配项
my_list.remove('world')
print(f'从前向后删除此元素的第一个匹配项后的列表为:{my_list}')
# 统计此元素在列表中出现的次数
count = my_list.count('and')
print(f'元素 and 在列表中出现的次数为:{count}')
# 查找指定元素在列表的下标
index = my_list.index('like')
print(f'找到指定元素,其下标为:{index}')
# 统计容器内有多少元素
my_len = len(my_list)
print(f'容器内的元素个数为:{my_len}')
# 清空列表
my_list.clear()
print(f'列表清空完毕,请检查:{my_list}')
if __name__ == '__main__':
func04()
def func05():
my_list = [0, 1, 2, 3]
for i in my_list:
print(i)
i = 0
while i < len(my_list):
print(i)
i += 1
while循环和for循环,都是循环语句,但细节不同:
取出列表中的偶数:
定义一个列表,内容是:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 遍历列表,取出列表内的偶数,并存入一个新的列表对象中
- 使用while循环和for循环各操作一次
代码示例:
def func06():
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
my_new_list_for = list()
# for循环
for num_for in my_list:
if num_for % 2 == 0:
my_new_list_for.append(num_for)
print(f'新的列表内元素为:{my_new_list_for}')
# while循环
my_new_list_while = []
num_while = 1
while num_while <= len(my_list):
if num_while % 2 == 0:
my_new_list_while.append(num_while)
num_while += 1
print(f'新的列表内的元素为:{my_new_list_while}')