Python大数据之python学习总结day09——五大容器总结对比

五大容器总结对比

可以存储多个元素的python数据类型就是数据容器

五大容器特点对比

列表list[]元组tuple()字符串str()集合set{}字典dict{}
存储多个元素存储多个元素存储多个元素存储多个元素存储多个元素
支持for循环支持for循环支持for循环支持for循环支持for循环
可以存储不同类型数据可以存储不同类型数据只可以存储字符串元素只能存储不可变类型元素key只能存储不可变类型元素,value可以是任意数据
支持修改不支持修改不支持修改支持修改支持修改
支持重复支持重复支持重复不支持重复不支持重复
支持下标索引支持下标索引支持下标索引不支持下标索引不支持下标索引
支持while循环支持while循环支持while循环不支持while循环不支持while循环

五大容器通用操作

知识点:

通用for循环因为for循环又叫遍历循环,最大特点是数据集需要提前存在
通用len功能求容器中元素的个数,注意字典默认一个键值对是一个元素
通用max功能求容器中元素最大值,注意字典默认操作都是键key
通用min功能求容器元素最小值,注意字典默认操作都是键key
通用排序功能sorted(容器,[revserse =True])默认把指定容器中元素放到列表中排序,其中revserse =True排序后·反转
通用枚举功能enumerate(容器)自动根据容器元素生成0开始的编号

通用for循环

#定义列表
list1 = ['d','a','b','c','e']
#定义元组
tuple1 = ('d','a','b','c','e')
#定义字符串
str1 = 'dabce'
#定义集合
set1 = {'d','a','b','c','e'}
#定义字典
dict1 = {'d':1,'a':2,'b':3,'c':4,'e':5}

#列表for循环
for e in list1:
    print(e)
print('_______________')
#元组for循环
for e in list1:
    print(e)
print('_______________')
#字符串for循环
for e in str1:
    print(e)
print('_______________')
#集合for循环
for e in set1:
    print(e)
print('_______________')
#字典for循环
for e in dict1:
    print(e)
print('_______________')

通用统计功能

#定义列表
list1 = ['d','a','b','c','e']
#定义元组
tuple1 = ('d','a','b','c','e')
#定义字符串
str1 = 'dabce'
#定义集合
set1 = {'d','a','b','c','e'}
#定义字典
dict1 = {'d':1,'a':2,'b':3,'c':4,'e':5}

#通用len():求元素个数
print(len(list1))
print(len(tuple1))
print(len(str1))
print(len(set1))
print(len(dict1))

print('_______________')
#通用max():求最大值
print(max(list1))
print(max(tuple1))
print(max(str1))
print(max(set1))
print(max(dict1))

print('_______________')
#通用min():求最小值
print(min(list1))
print(min(tuple1))
print(min(str1))
print(min(set1))
print(min(dict1))

print('_______________')
#通用sorted():,默认从小到大升序排序,默认都放到列表中返回
print(sorted(list1))
print(sorted(tuple1))
print(sorted(str1))
print(sorted(set1))
print(sorted(dict1))

print('_______________')
#通用sorted(reverse = True):默认从小到大升序排序,默认都放到列表中返回
print(sorted(list1,reverse=True))
print(sorted(tuple1,reverse=True))
print(sorted(str1,reverse=True))
print(sorted(set1,reverse=True))
print(sorted(dict1,reverse=True))

print('_______________')

通用枚举功能:

#定义列表
list1 = ['d','a','b','c','e']
#定义元组
tuple1 = ('d','a','b','c','e')
#定义字符串
str1 = 'dabce'
#定义集合
set1 = {'d','a','b','c','e'}
#定义字典
dict1 = {'d':1,'a':2,'b':3,'c':4,'e':5}

#列表for循环
for i,e in enumerate(list1):
    print(i,e)
print('_______________')
#元组for循环
for i,e in enumerate(tuple1):
    print(i,e)
print('_______________')
#字符串for循环
for i,e in enumerate(str1):
    print(i,e)
print('_______________')
#集合for循环
for i,e in enumerate(set1):
    print(i,e)
print('_______________')
#字典for循环
for i,e in enumerate(dict1):
    print(i,e)
print('_______________')

通用拆包功能

#打包:把多个元素放到容器中的过程
#定义列表
list1 = [1,2,3]
#定义元组
tuple1 = (1,2,3)
#定义字符串
str1 = '123'
#定义集合
set1 = {1,2,3}
#定义字典
dict1 = {1:1,2:1,3:1}

#拆包:把容器元素依次取出复制给对应变量的过程
#注意:拆包应用场景一般用于容器有几个元素的情况
a,b,c =list1
print(a,b,c)
a,b,c =tuple1
print(a,b,c)
a,b,c =str1
print(a,b,c)
a,b,c =set1
print(a,b,c)
a,b,c =dict1
print(a,b,c)

"""
小面试题:两个变量交换值
已知a记录10,b记录20,要求把a和b的值交换
"""
#定义数据
a =10
b =20
print(a,b)
#方式1:借助临时变量
# temp = a
# a = b
# b = temp
# print(a,b)
#方式2:先打包再拆包
b,a =a,b
print(a,b)

四大容器类型转换:

知识点:

str(x):其他数据转化为字符串类型
list(x):其他数据转化为列表类型
set(x):其他数据转化为集合类型
tuple(x):其他数据转化为元组类型
set(x):去除字符串两端引号 注意:不能随便去除,否则报错

示例:

#1.需求1:定义字符串”abcde“
str1 ='abcdeabc'

#2.需求2:字符串每个字符用列表存储起来
list1 = list(str1)
print(list1)

#3.需求3:去除列表中重复数据
set1 =set(list1)
print(set1)
new_list1 = list(set1)
print(new_list1)

#4.需求4:要求数据不能修改
tuple1 = tuple(new_list1)
print(tuple1)

print('________________')


#定义列表
list1 = ['d','a','b','c','e']
#定义元组
tuple1 = ('d','a','b','c','e')
#定义集合
set1 = {'d','a','b','c','e'}
#定义字典
dict1 = {'d':1,'a':2,'b':3,'c':4,'e':5}

#注意:任意类型都能转换为字符串类型,本质就是用引号包裹起来
s1 = str(list1)
print(s1, type(s1))  # "['d', 'a', 'b', 'c', 'e']"
s2 = str(tuple1)
print(s2, type(s2))  # "('d', 'a', 'b', 'c', 'e')"
s3 = str(set1)
print(s3, type(s3))  # "{'d', 'a', 'b', 'c', 'e'}"

#能不能直接去除引号,回归本身?eval去除字符串两端引号
list2 =eval(s1)
print(list2,type(list2))
tuple2 =eval(s1)
print(tuple2,type(tuple2))
set2 =eval(s1)
print(set2,type(set2))

# 注意: eval函数不要随意使用
print(eval("10"), type(eval("10")))  # 自动转换为整数10
print(eval("3.14"), type(eval("3.14")))  # 自动转换为浮点数3.14
print(eval("abc"))  # 报错NameError: name 'abc' is not defined

三大序列通用符号

知识点:

+:通用拼接符号,产生新的序列

=:通用复制拼接符号,产生新的序列

示例:

# 定义列表
list1 = ['d', 'a', 'b', 'c', 'e']
# 定义元组
tuple1 = ('d', 'a', 'b', 'c', 'e')
# 定义字符串
str1 = 'dabce'

#演示通用拼接符号:+  产生新的序列
print(list1 +['f'])
print(tuple1 +('f',))
print(str1 +'f')

#演示通用复制拼接符号:*产生新的序列
print(list1 *3)
print(tuple1 *3)
print(str1 *3)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值