非数字型变量:列表(高级类型)、元组(高级类型)、字典(高级类型)、字符串
所有非数字型变量都支持以下特点
- 都是一个序列sequence,也可以理解为容器
- 取值 []
- 遍历 for in
- 计算长度、最大最小值、比较、删除
- 连接 + 和重复 *
- 切片
1 列表(List)
其他语言中叫做数组,用于存储一串信息
例:
name_list = ["zhangsan","lisi","wangwu"]
列表的常用操作:
1.1 取值和取索引
name_list[索引] //取值,若索引超出列表的长度,会报错(list index out of range) // 数组越界异常
name_list.index(“lisi”) //取索引,如果查找的数据在列表中不存在的话,会报错(ValueError:‘XXX’ is not in list)
1.2 修改
name_list[0] = “konger” //如果索引超出范围,则会报错(Index:list assignment index out of range)
1.3 添加
name_list.appent(“liuliu”) //列表的末尾追加数据
name_list.insert(1,“李四”) //指定索引位置插入数据
name_list.extend(new_list) //一个聊表中的数据扩展到另一个列表中
1.4 删除
name_list.remove(“zhangsan”) //删除列表中指定的第一个数据,若不存在,报错(VauleError:X not in list)
name_list.pop() //不带参数,删除列表中最后一个元素;
name_list.pop(1) //带参数,删除指定索引位置的数据;
name_list.clear() //清空列表
关键字del:本质上是将一个变量从内存中删除,日常开发中,建议使用列表提供的方法
del name_list[1] //删除列表中指定的索引的数据,不建议这么用
1.5 统计
len(name_list) //统计列表中元素的总数
name_list.count(“zhangsan”) //统计列表中某个数据出现的次数
1.6 排序
name_list.sort() //升序排序
name_list.sort(reverse=True) //降序排序
name_list.reverse() //反转
1.7 遍历(迭代iteration 遍历)
# for 变量 in 列表 //可以遍历任何非数字类型集合
for name in name_list:
执行代码
print(name)
else:
没有通过break 退出循环的情况下,循环结束后,会执行的代码
2 元组(tuple)
元组用()定义,与列表类似,但元组一旦定义完成,不可增删改,只可查询;
元组也可以存储不同类型数据
例:
info_tuple = ("zhangsan", 20, 1.70)
2.1 取值
info_tuple[1] //取指定索引的数据,超出索引范围,报错(tuple index out of range)
2.2 取索引
info_tuple.index(“zhangsan”)
2.3 创建
empty_tuple = ()
empty_tuple = (9) //type(empty_tuple ) 为int,注意不是元组类型
empty_tuple = (9,) //只包含一个元素的元祖创建方法
2.4 统计
info_tuple.count(“zhangsan”) //数据在元组中出现的次数
2.5 元素个数
len(info_tuple)
2.6 遍历(开发中应用较少)
for my_tuple in info_tuple:
print(my_info)
2.7 应用场景
2.7.1 作为函数参数和返回值
一个函数可以接受任意多个参数,一次返回多个数据
2.7.2 格式字符串
格式化字符串后面的 () 本质就是一个元组