Python基础③:组合数据类型

1、列表

1)列表的表达
  ① 定义列表:ls1 = ['Python', 1998,True,{version:3.7}]
  ② 其他类型转成列表:ls2 = list(可迭代对象,例如元组、字符串、集合等)
    ls2 _1= list("人工智能牛逼") # 字符串转成列表
    ls2 _2= list(('人','工','智','能','牛','逼')) # 元组转成列表
    ls2 _3= list({'人','工','智','能','牛','逼'}) # 集合转成列表
2)列表的性质
  ① 列表长度:len(ls)
  ② 列表的索引:可以通过下标访问元素,有正反索引
  ③ 列表的切片:变量名[开始位置:结束位置:切片位置]
3)列表的操作函数
  ① 列表的拼接:list1+list2
    ls1=[1,2]
    ls2=[3,4]
    ls3=ls1+ls2 # 结果是[1,2,3,4]
  ② 求幂次方 pow(x,n):a = pow(2,5) # 求2的5次方
  ③ 四舍五入 round(x,n):a = round(a,2) # a四舍五入保留2位小数
  ④ 商和模运算 divmod(x,y):divmod(13,5) # 相当于 (x//y,x%y),更快一点
  ⑤ 最大/最小值 max() min()
  ⑥ 求和 sum(列表或元组)
4)列表的操作方法
  ① 增加元素
    ls1.append("python") # 在末尾增加元素
    ls1.insert(位置编号, 待增元素) # 在指定位置增加元素
    ls1.extend(ls2) # 在末尾增加另一个列表
  ② 删除元素
    ls1.pop(待删元素的位置编号) # 指定位置删除元素元素,当参数缺省时删除最后一个元素
    ls1.remove(待删元素) # 删除指定元素
  ③ 查找元素:列表.index(待查元素) # 返回待查元素在列表中的下标位置
  ④ 修改元素:列表[位置下标] = 新值
  ⑤ 列表复制
    ls2 = ls1.copy() # 浅拷贝
    ls2 = ls1[:] # 浅拷贝
    关于浅拷贝和深拷贝,以及背后的原理放到第9部分进行说明。
    这里只要记住列表复制用浅拷贝,不能直接ls2 = ls1。
  ⑥ 列表排序:列表.sort() # 参数缺省递增排序,参数为-1为递减排序
  ⑦ 列表翻转:列表.reverse()

2、元组

1)元组的表达:name = ('LC',18,True)
2)元组的操作
  不支持元素的增删改,其他与列表完全一致
3)元组的常见用处:打包与解包
  ① 用在函数返回值上

def f1(x):
	return x**2,x**3
print(f1(3))  # 返回结果:(9,27)
print(type(f1(3)))  # 返回结果:<class 'tuple'>

  ② 用在列表打包上

numbers = [201901,201902,201903]
name = ['小明','小红','小强']
list(zip(numbers,name))
# 结果:[(201901,'小明'),(201902,'小红'),(201903,'小强')]
for number,name in zip(numbers,name):
	print(number,name)
# 201901 小明
# 201902 小红
# 201903 小强

3、字典

1)字典的表达:stu = {201901:'小明',201902:'小红',201903:'小强'}
2)字典的要求:键不能重复;键必须是不可变类型(数字/字符串/元组)
3)字典的性质
  ① 字典的长度/键值对的个数:len(stu)
  ② 字典的索引:stu[201901] # 字典[键]的形式
4)字典的操作方法
  ① 增加键值对:字典[新键] = 新值
  ② 删除键值对:字典.pop(键)
  ③ 修改键值对:字典[键] = 新值
  ④ get方法:stu.get(key,default) # 从字典stu中获取key对应的值,如果没有这个键则返回default
  ⑤ key方法和value方法
    stu.key() # 获取字典中的键,返回类型是列表
    stu.value() # 获取字典中的值,返回类型是列表
  ⑥ items方法及字典的遍历

print(list(stu.items()))
for k,v in stu.items():
	print(k,v)
# [(201901,'小明'),(201902,'小红'),(201903,'小强')]
# 201901 小明
# 201902 小红
# 201903 小强

4、集合

1)集合的表达:stu = {201901,'小明',201902, '小红',201903, '小强'}
2)集合的运算
  ① 交:jihe1 & jihe2
  ② 并:jihe1 | jihe2
  ③ 非交:jihe1 ^ jihe2
  ④ 在A不在B的元素:jihe1 - jihe2
3)集合的操作方法
  ① 增加元素:stu.add(要增加的元素)
  ② 删除元素:stu.remove(要删除的元素)

发布了12 篇原创文章 · 获赞 14 · 访问量 4848

猜你喜欢

转载自blog.csdn.net/weixin_38608322/article/details/104039157
今日推荐