python的多元数据类型(上)

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网
目录
  • 什么是列表list
    • 1.声明一个列表list
    • 2.列表list支持什么数据类型
    • 3.列表list的基本特性
  • 总结

    什么是列表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)
    		第一次:['拍黄瓜','大拌菜','小葱拌豆腐']
    			内循环第一次:'拍黄瓜'
    			内循环第二次:'大拌菜'
    			内循环第三次:'小葱拌豆腐'
            第二次:['白酒','啤酒','红酒']
            	内循环第一次:'白酒'
    			内循环第二次:'啤酒'
    			内循环第三次:'红酒'
            第三次:['橘子','香蕉','苹果']
            	内循环第一次:'橘子'
    			内循环第二次:'香蕉'
    			内循环第三次:'苹果'
    

    总结

    本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注hwidc的更多内容!

    【文章出处:日本大带宽服务器http://www.558idc.com/jap.html 复制请保留原URL】