高级数据类型是一种编程语言中提供的用于表示复杂数据结构的数据类型。相比于基础数据类型(如整数、浮点数、布尔值等),高级数据类型可以存储和操作更多的数据,并且具备更丰富的功能和操作方法。Python的高级数据类型主要包括列表、元组,字典,集合。1. 列表的概念在Python中,列表(List)是一种有序、可变、可重复的数据结构,用于存储一组元素。列表是Python中最常用的数据类型之一,它可以包含任意类型的元素,例如整数、浮点数、字符串等。gf_name_list=["高圆圆","范冰冰","李嘉欣","陈红"]info=["yuan",18,False]print(type(info))# class 'list'列表的特点:列表中的元素按照顺序进行存储和管理元素可以是任意类型且可以不一致元素的长度理论上没有限制列表允许包含重复的元素列表是可变数据类型2. 列表的基本操作索引是管理列表的核心!索引操作# 查询l=['高圆圆','刘亦菲','赵丽颖','范冰冰','李嘉欣']print(l[2])# 12print(l[-1])# 14# 修改l[3]="佟丽娅"切片操作# 查询操作l=[10,11,12,13,14]print(l[2:5])print(l[-3:-1])print(l[:3])print(l[1:])print(l[:])print(l[2:4])print(l[-3:-1])print(l[-1:-3])print(l[-1:-3:-1])print(l[::2])# 修改操作l[1:4]=[1,2,3]1、取出的元素数量为:结束位置 - 开始位置;2、取出元素不包含结束位置对应的索引,列表最后一个元素使用list[len(slice)]获取;3、当缺省开始位置时,表示从连续区域开头到结束位置;4、当缺省结束位置时,表示从开始位置到整个连续区域末尾;5、两者同时缺省时,与列表本身等效;6、step为正,从左向右切,为负从右向左切。判断成员是否存在in 关键字检查某元素是否为序列的成员l=[10,11,12,13,14]print(20inl)# Falseprint(12inl)# True相加l1=[1,2,3]l2=[4,5,6]print(l1+l2)# [1, 2, 3, 4, 5, 6]循环列表fornamein["张三",'李四',"王五"]:print(name)foriinrange(10):# range函数: range(start,end,step)print(i)# 基于for循环从100打印到1foriinrange(100,0,-1):print(i)计算元素个数# len函数可以计算任意容器对象的元素个数!!!print(len("hello yuan!"))print(len([1,2,3,4,5,6]))print(len(["rain","eric","alvin","yuan","Alex"]))print(len({"k1":"v1","k2":"v2"}))3. 列表的内置方法【1】内置方法gf_name_list=['高圆圆','刘亦菲','赵丽颖','范冰冰','李嘉欣']# 一、增# (1) 列表最后位置追加一个值gf_name_list.append("李承")# (2) 向列表任意位置插入一个值gf_name_list.insert(1,"李承")# (3) 扩展列表gf_name_list.extend(["ANC","NKG"])# 二、删# (1) 按索引删除gf_name_list.pop(3)print(gf_name_list)# (2) 按元素值删除gf_name_list.remove("范冰冰")print(gf_name_list)# (3) 清空列表gf_name_list.clear()print(gf_name_list)# 三、其他操作l=[10,2,34,4,5,2]# 排序l.sort()print(l)# 翻转l.reverse()print(l)# 计算某元素出现个数print(l.count(2))# 查看某元素的索引print(l.index(34))【2】案例练习案例1: 构建一个列表,存储1-10的平方值l=[]foriinrange(1,11):# print(i ** 2)# l.append(i ** 2)ifi%2==0:l.append(i**2)print(l)案例2:扑克牌发牌importrandom poke_types=['♥️','♦️','♠️','♣️']poke_nums=[2,3,4,5,6,7,8,9,10,'J','Q','K','A']poke_list=[]forp_typeinpoke_types:forp_numinpoke_nums:# print(f"{p_type}{p_num}")poke_list.append(f"{p_type}{p_num}")print(poke_list)# (1) 抽王八# random.choice():多选一# ret1 = random.choice(poke_list)# print(ret1)# ret2 = random.choice(poke_list)# print(ret2)# ret3 = random.choice(poke_list)# print(ret3)# (2) 炸金花# random.sample :多选多ret1=random.sample(poke_list,3)print(ret1)foriinret1:poke_list