1.4.原组

1.4.1.元组(tuple):将一组不可变的数据序列组合起来形成一个特殊的内置容器

1.4.2元组不允许的操作:

  • 修改,新增元素

  • 删除元素(允许删除整个元组)

  • 所有会对元组内部元素发生变化的方法无法使用(remove,append,pop等)

1.4.3.元组的操作

  • 创建格式:tuplename=(element1,element2,element3,.....elementn),元组元素个数数限制,类型都可以不相同

nume1=(2,3,4,5,6)
num2=(1,)    #一个元素的元组,逗号不能省略
num3=(1)    #不是元组,只是赋值1
​
num4=()   #空元祖
num5=tuple(range(0,20,2))   #使用tuple()函数创建元组
​
str1=('china','hello','andy')
​
str2=(82,'python',[1,2,3,4,5])
str3='python','你好','人生苦短,我用python'  #圆括号可以省略
  • 删除元组:del tuplename

tup1=(12,34,56)
tup2=('abc','xyz')
#tup1[0]=100     #报错了
tup1=(9,8,7,6)  #支持整体处理
tup3=tup1+tup2
print(tup3)
del tup1
del tup2
#注意元组为不可变序列,不支持单个元素删除,但可以整体赋值修改
tup1=('a','b',['A','B'])
tup1[2][0]='x'
tup1[2][1]='y'
print(tup1)
#注意:元组只保证一级子元素不可变,对于内部嵌套的元组不保证
  • 元组连接时必须维持元组性质,不能连接字符串或列表等

tup1=(1,2,3)
list1=[4,5,6]
tup2=tup1+list1 #报错
tup2=tup1+'china'   #报错
  • 元组连接的对象只有一个元素时,必须加逗号

tup1=(1,2,3)
tup2=tup1+(4,)  #加逗号
print(tup2)
  • 元组的读取问题:定义时使用(),若要读取访问元组内容依然和列表一样使用 [ ] 配合索引实现

num1=(1,2,3,4,5)
str1=('apple','orange')
print(num1[0],str1[1])
  • 元组也支持切片:与列表操作方式相同

import random
tup1=tuple(random.sample(range(0,30),10))
print(tup1)
​
print(tup1[1:3])
print(tup1[:4])
print(tup1[5:])
print(tup1[-2:])
print(tup1[-3:3:-1])
print(tup1[0:5:3])
  • 元组与列表的数据互换

    • list():转为列表

    • tuple():转为元组

tup1=(123,'hello','999',35.6)
list1=list(tup1)
list1.append('china')
print(list1)
tup1=tuple(list)
print(tup1)

1.4.4.元组与列表的区别

  • 元组与列表都属于序列,都可以按照特定的顺序存储一组数据,类型个数不受限制

  • 区别:

    • 列表为可变序列,元素可以随时修改增删,元组不可变序列,元素内容不可修改,删除,除非整体替代

    • 元组不支持append(),extend(),insert()等方法

    • 元组和列表仅能通过切片进行访问

    • 元组比列表结构简单,占用资源少,程序运行速度快

    • 元组比列表安全

1.5.字典

1.5.1.概念:字典属于可变序列,使用‘键:值’(key-value)的方式配对存储数据,类似于新华字典中拼音-汉字的关系

1.5.2.格式:dictname={key1:value1,key2:value,........,keyn:valuen}

  • distname:字典名

  • key:元素的键

  • value:元素的值,可以为任意数据,不需要唯一

1.5.3.字典创建示例

dict1={'andy':1001,'fox':1002,'alice':1003}
dict2={}
dict3=dict()    #使用dict方法创建空字典name=['春香','夏柠','秋兰','翠花']
sign=['天秤座','射手座','双鱼座','金牛座']
#使用zip()函数将列表或元组对应的元素组合成字典
dict4=dict(zip(name,sign))#键=值得方式创建
dict5=dict(a=98.5,b=77.4,c=87.2,d=64.9)
print(dict1,'\n',dict2,'\n',dict3,'\n',dict4,'\n',dict5,'\n')

1.5.4.增加字典元素

  • 格式:dictname[键]=值

  • 例:

dict1={'西瓜':5,'香蕉':8,'荔枝':10}
dict1['橘子']=6
dict1['荔枝']=12
print(dict1)

1.5.5.删除字典

  • del 字典名[键]:删除字典中特定元素

  • dictname.claer():清空字典全部元素

  • del 字典名:删除字典整体、

dict1={'西瓜':5,'香蕉':8,'荔枝':10}
del dict1['西瓜']
dict1.clear()
print(dict1)
del dict1

1.5.6.字典的访问:dictname[键]

dict1={'西瓜':5,'香蕉':8,'荔枝':10}
print(dict1['香蕉'],dict1['荔枝'])

1.5.7.字典的复制

  • 作用:用来保护原字典内容

  • 格式:new_dictname=dictname.copy()

  • 注意:默认为深拷贝

dict1={'西瓜':5,'香蕉':8,'荔枝':10}
dict2=dict1.copy()
print(dict1,'\n',dict2)
print(id(dict1),id(dict2))

1.5.8.使用get()方法获取指定的键值

  • 格式:dictname.get(key,default)

  • key:指定的键

  • default:用于指定键不存在时,返回的默认值,若省略则返回None

dict1={"Name":'andy',"Age":17,"Class":'First'}
print(dict1.get('Age'))
print(dict1.get('Score'))
print(dict1.get('Score',98.5))
#若访问的键不存在则执行default

1.5.9.字典的遍历

  • 格式1:遍历值,items()方式

for i in dictname.item():

  • 格式2:键:值遍历

for key,value in dictname.items()

处理key和value

name=['春香','夏柠','秋兰','翠花']
sign=['天秤座','射手座','双鱼座','金牛座']
dict1=dict(zip(name,sign))
for i in dict1.items():print(i)
for i,j in dict1.items():print(i,'的星座是:',j)
  • 格式3:遍历字典的键,keys()

for key in dictname.keys():

处理

players={'张三':77.8,'李四':55.9,'王五':87.6}
for name in players.keys():print('姓名:',name)
  • 注意1:不允许同一个键出现两次,创建时如果同一个被赋值2次,后一个会被记住

dict1={'num':1001,'score':98,'num':1002}
print(dict1)
  • 注意2:键必须不可变,所以使用数字,字符串,元组来充当,列表不行

dict1={['num']:1001,'score':98,'num':1002}
print(dict1)

1.5.10.字典内含列表

  • 列表存在字典中,一般作为字典的某个键的值出现,需要使用循环完成处理,外层循环用于取得字典的键,内层循环用于取得值或将列表拆分

sports={'andy':['篮球','足球','橄榄球'],'jenny':['体操','游泳'],'fox':['羽毛球','乒乓球','骑行']}
for name,na_sport in sports.items():print("%s喜欢的运动是:"%name,end=' ')for sp in na_sport:print(" ",sp,end=" ")print()

1.5.11.字典内含字典

  • 字典存储在字典一般用于表示字典中键的值

wechat={'001':{'last_name':'张三','first_name':'张三丰','city':'西安'},'002':{'last_name':'张四','first_name':'李时珍','city':'咸阳'} }
for num,name in wechat.items():print('账户:',num,end=" ")print('姓名:',name['first_name'],end=' ')print('住址:',name['city'])

1.6.集合:

1.6.1.概念:集合是一个无序不重复的序列

1.6.2.作用:用于关系测试和消除重复值

1.6.3.集合使用大括号{}框定原素,使用逗号分隔

1.6.4.格式:setname={value1,value2,value3,value4,.....valuen}

set1={1,2,3,4,5}
set2={'name','num','age','score'}  #集合本质为无序可变序列,输出时顺序可能不同
set3=('命运给与我们的不是失望之酒,而是机会之杯')
set4=set([1,2,3,4,5.6])
set5=set()  #空集合,不能为{}
set6=set('apple',)  #必须增加逗号
print(set1,'\n',set2,'\n',set3,'\n',set4,'\n',set5,'\n',set6,'\n')

1.6.5.集合应用的核心:去重

list1=[1,2,3,2,3,4,5,6,5,4,3,4,5,6,7,8,6,4,4,46,3,3]
x=set(list1)
print(x)

1.6.6.集合添加与删除

  • 添加元素:setname.add(elsment)

set1=set(['java','c','go','c#'])
set1.add('python')
print(set1)

删除元素:setname.remove

1.6.7集合的交,并,差集运算

  • 交集:&

  • 并集

  • 差集:-

  • 对称差集:^

  • 例:

set1=set('abcdefg')
set2=set('efghijk')
print(set1 & set2)
print(set1 | set2)
print(set1 - set2)
print(set1 ^ set2)

1.6.8集合判断是否相等

  • 符号:== !=

  • 返回值:Ture False

A={1,2,3,4}
B={3,4,5,6}
C={1,2,3,4}
print(A==B,A==C)

1.6.9.特殊操作

  • sidisjoint():两个集合没有共同元素时返回True

A={1,2,3,4}
B={5,6,7,8}
print(A.isdisjoint(B))
  • issubset()测试是否为子集:

A={1,2,3,4}
B={1,2,3,4,5,6,7,8}
print(A.issubset(B))
  • issuperset():测试是否为父集

python内置容器--元组,字典与集合相关推荐

  1. python内置函数有哪些_Python集合有哪些内置函数可以使用,这些内置函数有什么功能...

    Python 的元组与列表类似,不同之处在于元组的元素定义了就不能修改. 元组可以切片.可以循环.元组没有多少内置函数可以用. Python元组(tuple)包含了以下内置函数: len(tuple) ...

  2. Python内置容器(2)——字典,迭代器,列表解析

    1.迭代器 iterator iter 函数,构造集合. next 方法依次返回迭代器的值 In [42]: li Out[42]: [1, 2, 3, 4, 5] In [43]: it = ite ...

  3. python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....

    Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...

  4. python内置函数什么可以返回列表、元组_Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。...

    [单选题]如果希望把一个可迭代对象转换为元组,该使用下面的哪个函数? [单选题]已知 x = [1, 2],那么执行语句 x[0:0] = [3, 3]之后,x的值为___________. [单选题 ...

  5. Python基础(四)(列表、元组、字典、字符串、Python内置函数、切片、运算符、成员运算符)

    高级变量类型 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 -- 非零即真 假 Fa ...

  6. Python之第六章 内置容器 --- 字典(映射)

    目录 Python之第六章 内置容器 --- 字典(映射) 1.定义: 2.格式: 3.字典创建示例 ​4.增加字典元素 5.删除字典 6.字典的访问 7.字典的复制 8.使用get()方法获取指定的 ...

  7. python内置函数用来返回列表、元组、字典_python程序设计第一章基础知识 题库及选解...

    由于学校的python是笔试,所以找了份感觉比较好的题库刷了下其中前八章的填空和判断,附上选解.各章链接如下 填空 1. Python安装扩展库常用的是()工具.(pip) 2. Python标准库m ...

  8. python学习笔记(07)---(内置容器-字典)

    第七章  内置容器(三) 4.字典 (1)概念:字典属于可变序列,使用"键 : 值"(key-value)的方式配对存储数据,类似拼音-汉字的映射关系 (2)格式:dictname ...

  9. Python内置四大数据结构之字典的介绍及实践案例

    Python字典的介绍及实践案例 一.字典(Dict)介绍 字典是Python内置的四大数据结构之一,是一种可变的容器模型,该容器中存放的对象是一系列以(key:value)构成的键值对.其中键值对的 ...

最新文章

  1. display:inline-block 的使用
  2. 中国AI已进入迷茫阶段!从技术到科学,AI该何去何从?
  3. Python_note9 Matplotlib画图 Seaborn画图
  4. vmware redhat5.4 磁盘阵列 RIDA
  5. NLog日志框架使用探究
  6. 哪款笔记本电脑好_扫地机器人哪个牌子好?口碑最好的扫地机器人
  7. Kinect v1在windows上的使用教程
  8. $.grep()函数
  9. 日志显示TypeError: Failed to fetch报错与TypeError: NetworkError when attempting to fetch resource报错
  10. python之用yagmail模块发送邮件
  11. 高德地图按行政区描边
  12. CEO们推荐的50本职场必看书籍!
  13. 海大上机-(专硕)2014-4-手机通讯录
  14. N皇后问题(c语言实现)
  15. SW中如何将拉伸的物体转化为钣金件
  16. Windows环境,agent在后台运行
  17. [译文]优雅的现代JavaScript设计模式: 冰冻工厂
  18. 卫星导航系统的发展历史
  19. abort()has been called问题
  20. c# 采用XML的方式读取OSM文件

热门文章

  1. 关于dell戴尔笔记本磁盘空间莫名被占及删除System Volume Information
  2. 315成央视盛宴是中国媒体的悲哀
  3. 谈一谈linux下线程池
  4. 收录拒绝指定ip请求黑名单lua脚本、拒绝ip频次请求的lua脚本
  5. Linux 下固态硬盘恢复误删除文件
  6. ElasticSearch入门一(索引CRD和文档的CRUD)
  7. UCenter单点登录,同步登录,同步登出原理
  8. 微信域名网址强制跳转至浏览器打开指定HTML网页
  9. Nacos 2.0.0版本正式发布
  10. 信源剩余度的计算java_冗余度计算公式