目录
什么是列表list
列表是python中最基本的数据结构,列表中的每个元素都分配一个数字——即当前数据的位置,或索引,第一个索引是0第二个索引是1,依次类推
*列表是个“筐”什么也可以往里装。数据一多了就形成了结构。列表list是数据集合的一种形式
#列表是一个有序的、可变的数据结构/类型
1.声明一个列表list
方法一: 空值创建 list_data = list()
方法二: 空值创建 list_data = [ ]
列表之间使用 , 分隔 ,头尾使用方括弧 [ ]
列表的语法规则 [“中国”,‘SHENZHEN\’,44,True,1.0]
列表添加其他类型数据(嵌套)[{“name”:“like”,“age”:4}, (1,2),[1,3,4]]
特别注意:
1、列表内的每个元素(数据),遵守该数据类型的原有规则。比如字符串类型是要加引号\”\”
2、可以有多层嵌套,每一层嵌套为一个独立体存在
2.列表list支持什么数据类型
name
= “like” 字符串Str
age
= 18 整数 Int
height
=1.74 浮点Float
is_yes
=True 布尔Bool
pets
=[“牛”,“虎”,“兔”] 列表List
work_cities
= (“北京”,“上海”,“广州”) 元组Tuple
teacher
={“姓名”:“张三”} 字典Dict
3.列表list的基本特性
增加 :支持空列表创建 、支持列表数据更新(添加)
删除 :支持列表整体删除、支持列表元素删除、支持切片删除
修改:支持列表数据修改(基于下标、索引、index)
查询:支持列表数据查询(基于下标、索引、index)、支持切片查询、支持第一级元素长度统计(len)
personal_info= [\'张三\',\"男\"] #列表基本操作 #增加数据 personal_info.append(18) 最后一位追加>>>[\'张三\',\"男\",18] personal_info.insert(1,1.80) 基于索引位置插入数据>>>[\'张三\',1.80,\"男\",18] #修改数据 personal_info[1] = 1.90 基于索引位置修改数据>>>[\'张三\',1.90,\"男\",18] personal_info[2:4] = [\"女\",19] 基于索引范围修改数据>>>[\'张三\',1.90,\"女\",19] #查询数据 personal_info[1] 基于索引位置修改数据>>> 1.90 personal_info[2:4] 基于索引范围修改数据>>>[\"女\",19] #删除数据 personal_info.pop(1) 基于索引删除数据>>>[\'张三\',\"女\",19] personal_info.remove(19) 基于值删除数据>>>[\'张三\',\"女\"] del personal_info[0:2] 基于索引位置删除>>>[] personal_info.clear() 清空全部列表元素>>>[] del personal_info 删除整个列表>>>[] *特别注意 1、修改数据和查询数据”一线间“ 2、圈定范围修改列表数据时,需要保证添加的数据为可迭代对象 3、注意pop()默认为删除最后一位,可指定索引位置,并返回被删除的值 4、remove()基于值/数据删除数据,删除的是第一个匹配的数据,并非所有 #列表合并 num_1 =[1,2,3] num_2 =[5,6,7,8] num_sum =num_1 + num_2 >>>[1,2,3,5,6,7,8] num_1.extend(num_2) 特别注意 extend()会改变当前变量内的值>>>[1,2,3,5,6,7,8] #列表排序 num_sum =num_2 + num_1 >>>[5,6,7,8,1,2,3,] num_sum.sort() 正序>>>[1,2,3,5,6,7,8] num_sum.sort(reverse = True) 倒序>>>[8,7,6,5,3,2,1] sort()会直接改变当前变量内的值 #列表反转 msg = [\'好\',\"好\",\"学\",\"习\"] msg.reverse() >>>[\"习\",\"学\",\"好\",\"好\"] #元素数据统计 msg.count(\"好\") >>>2 #自身复制 msg = msg * 2 msg>>>[\'好\',\"好\",\"学\",\"习\",\'好\',\"好\",\"学\",\"习\"] #列表的长度 len(msg) >>>8 #列表的复制 num = [[1,2,3],[6,7]] id(num) >>> 4567867877 id(num[0]) >>> 4598080890 (同) #浅复制 num_X = num.copy() id(num_X) >>> 4567867800 id(num_X[0]) >>> 4598080890 (同) #深复制 import copy num_Y = copy.deepcopy(num) id(num_Y) >>> 4567867800 id(num_Y[0]) >>> 4598080999 (不同) #包含关系判断 msg = [\"好\",\"好\",\'学\',\'习\'] \"习\" in msg >>>True 仅支持当前层级判断 #切片延申 num = [0,1,2,3,4,5,6,7,8,9] num[0:10:2] [起,止,步长] >>>[0,2,4,6,8] 类似于for循环中的range()函数 num[::2] >>>[0,2,4,6,8] 特别注意 起止不设定默认,为从头到尾的范围 #list在程序中的书写 #单列表 list = [\"哈士奇\",\"萨摩\",\"柴犬\",\"泰迪\"] 列表这个数据类型的性质决定了它通常内部存在数据比较长,书写的时候会超出屏幕边界,所以可以换行: list = [\"哈士奇\", \"萨摩\", \"柴犬\", \"泰迪\" ] 注意对齐,好看清晰明了 #嵌套列表 list = [ [\'拍黄瓜\',\'大拌菜\',\'小葱拌豆腐\'], [\'白酒\',\'啤酒\',\'红酒\'], [\'橘子\',\'香蕉\',\'苹果\'], ] 一组数据里有高度、有宽度可以叫做: 1、矩阵 2、二维数组 #列表与for循环 #初级难度 dogs = [\"哈士奇\", \"萨摩\", \"柴犬\" ] for dog in dogs: print(dog) 第一次:哈士奇 第二次:萨摩 第三次:柴犬 #中级难度 menus = [ [\'拍黄瓜\',\'大拌菜\',\'小葱拌豆腐\'], [\'白酒\',\'啤酒\',\'红酒\'], [\'橘子\',\'香蕉\',\'苹果\'], ] for menu in menus: print(menu) 第一次:[\'拍黄瓜\',\'大拌菜\',\'小葱拌豆腐\'] 第二次:[\'白酒\',\'啤酒\',\'红酒\'] 第三次:[\'橘子\',\'香蕉\',\'苹果\'] #高级难度 menus = [ [\'拍黄瓜\',\'大拌菜\',\'小葱拌豆腐\'], [\'白酒\',\'啤酒\',\'红酒\'], [\'橘子\',\'香蕉\',\'苹果\'], ] for menu in menus: print(menu) for food in menu: print(food) 第一次:[\'拍黄瓜\',\'大拌菜\',\'小葱拌豆腐\'] 内循环第一次:\'拍黄瓜\' 内循环第二次:\'大拌菜\' 内循环第三次:\'小葱拌豆腐\' 第二次:[\'白酒\',\'啤酒\',\'红酒\'] 内循环第一次:\'白酒\' 内循环第二次:\'啤酒\' 内循环第三次:\'红酒\' 第三次:[\'橘子\',\'香蕉\',\'苹果\'] 内循环第一次:\'橘子\' 内循环第二次:\'香蕉\' 内循环第三次:\'苹果\'
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!
暂无评论内容