非数字型变量
- 列表
- 元组
- 字典
- 字符串
列表
列表的定义
List
(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组- 专门用于存储 一串 信息
- 列表用
[]
定义,数据 之间使用,
分隔 - 列表的 索引 从 0 开始
- 索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标
列表的常用操作
- 在 python3 中定义一个 列表,例如:
week_list = []
- 输入
week_list.
按下Tab
键,python 会提示 列表 能够使用的 方法 如下:
取值 和 取索引
例子如下:
week_list = ['Monday', 'Tuesday', 'Wednesday']
print(week_list[1]) # week_list[n] n > 0, 读取第 n+1 个元素
print(week_list[-1]) # week_list[-n] n > 0, 从右侧开始读取倒数第 n 个元素
print(week_list[1:]) # week_list[n] n > 0, 输出从第 n+1 个元素开始后的所有元素
# 知道数据的内容,想确定数据在列表中的位置
# 使用index方法需要注意,如果传递的数据不再列表中,程序会报错
# 列表索引超出范围 IndexError: list index out of range
print(week_list.index('Wednesday'))
修改
例子如下:
week_list = ['Monday', 'Tuesday', 'Wednesday']
week_list[0] = '星期一'
print(week_list)
增加
例子如下:
week_list = ['Monday', 'Tuesday', 'Wednesday']
# append 可以向列表的末尾追加数据
week_list.append('Thursday')
# insert 可以在列表指定索引位置插入数据
week_list.insert(1, '增加的星期')
# extend 可以把其他列表中的完整内容,追加到当前列表的末尾
week2_list = ['增加的列表']
week_list.extend(week2_list)
print(week_list)
# append 和 expend 的区别
list1 = [0, 1]
list2 = [2, 3]
list3 = [4, 5]
# append 把指定列表参数当作一个元素追加到列表的末尾
list1.append(list2)
print(list1)
# extend 把指定列表参数合并到当前列表中
list1.extend(list3)
print(list1)
删除
例子如下:
week_list = ['Monday', 'Tuesday', 'Wednesday']
# remove 可以从列表中删除指定的数据
week_list.remove('Monday')
# pop 默认可以把列表中最后一个元素删除
week_list.pop()
# pop 可以指定要删除元素的索引
week_list.pop(0)
# clear 可以清空列表
week_list.clear()
print(week_list)
del 删除法
例子如下:
week_list = ['Monday', 'Tuesday', 'Wednesday']
# (知道)使用 del 关键字(delete)删除列表元素
# 提示:在日常开发中,要从列表删除元素,建议使用列表提供的方法
del week_list[0]
# del 关键字本质上是用来将一个变量从内存中删除的
name = '小明'
del name
# 注意:如果使用 del 关键字将变量从内存中删除
# 后续的代码就不能再使用这个变量了
print(name)
print(week_list)
统计
例子如下:
name_list = ['王小二', '张三', '李四']
num_list = [1, 4, 3]
# len 可以统计列表中元素的个数
length = len(name_list)
print('列表中元素的个数为:%d' % length)
# max 可以统计列表中元素的最大值
Max = max(num_list)
print('列表中元素的最大值为:%d' % Max)
# min 可以统计列表中元素的最小值
Min = min(num_list)
print('列表中元素的最小值为:%d' % Min)
# count 可以统计列表中某一元素出现的次数
n = name_list.count('张三')
print('张三出现了 %d 次' % n)
排序
升序
例子如下:
name_list = ['zhangsan', 'lisi', 'wangwu', 'wangxiaoer']
num_list = [1, 8, 3, 6]
# 升序
name_list.sort()
print(name_list)
num_list.sort()
print(num_list)
降序
例子如下:
# 降序
name_list = ['zhangsan', 'lisi', 'wangwu', 'wangxiaoer']
num_list = [1, 8, 3, 6]
name_list.sort(reverse=True)
print(name_list)
num_list.sort(reverse=True)
print(num_list)
逆序(反转)
例子如下:
name_list = ['zhangsan', 'lisi', 'wangwu', 'wangxiaoer']
num_list = [1, 8, 3, 6]
# 逆序(反转)
name_list.reverse()
print(name_list)
num_list.reverse()
print(num_list)
循环遍历
- 遍历 就是 从头到尾 依次 从 列表 中获取数据,在 循环体内部 针对 每一个元素,执行相同的操作
- 在 Python 中为了提高列表的遍历效率,专门提供的 迭代
iteration
遍历 - 使用
for
就能够实现迭代遍历
例子如下:
week_list = ['Monday', 'Tuesday', 'Wednesday']
"""
顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在
week 这个变量中,在循环体内部可以访问到当前这一次获取的数据
"""
for week in week_list:
print(week)
列表的应用场景
尽管 Python 的 列表 中可以 存储不同类型的数据,但是在开发中,更多的应用场景是:
i. 列表 存储相同类型的数据
ii. 通过 迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作