python的多元数据类型(上)

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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值