Python入门-组合数据类型(元组,字典,集合)

1.元组

元组 是Python中内置的 不可变序列
在Python中使用 ( ) 定义元组,元素与元素之间使用 英文的逗号分隔
元组总 只有一个 元素的是否,逗号不能省略

元组的创建与删除
# 使用小括号创建元组
t=('hello',[10,20,30],'python','world')
print(t)#使用内置函数 tuple()创建元组
t=tuple('helloworld')
print(t)t=tuple([10,20,30,40])
print(t)print('10在元组中是否存在:',(10 in t))
print('10在元组中是否不存在:',(10 not in t))
print('最大值',max(t))
print('最小值',min(t))
print('len:',len(t))
print('t.index',t.index(10))
print('t.count',t.count(10))#如果元组中只有一个元素
t=(10)
print(t,type(t))#如果元组中只有一个元素, 逗号不能省
y=(10,)
print(y,type(y))#元组的删除
# del t
# print(t)
元组的访问与遍历
t=('python','hello','world')print(t[0])
t2=t[0:3:2]
print(t2)#元组的遍历
for item in t:print(item)# for+range()+len()
for i in range(len(t)):print(i,t[i])# 使用 enumerate()
for index,item in enumerate(t):print(index,'---->',item)print('*'*55)for index,item in enumerate(t,start=11):  #序号从11开始print(index,'---->',item)

结果:

D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\示例5-13元组元素的访问与遍历.py 
python
('python', 'world')
python
hello
world
0 python
1 hello
2 world
0 ----> python
1 ----> hello
2 ----> world
*******************************************************
11 ----> python
12 ----> hello
13 ----> world
元组的生成式:
t=(i for i in range(1,4))
print(t)   # 生成器对象:<generator object <genexpr> at 0x000001F43D738110># t=tuple(t)
# print(t)#遍历
# for item in t:
#     print(item)print(t.__next__())
print(t.__next__())
print(t.__next__())t=tuple(t)
print(t)  # 空的,因为你在上面用 __next__() 把元素取出来了,再转成元组类型也是空的

结果:

D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\示例5-14元组的生成式.py 
<generator object <genexpr> at 0x00000232A1FC8110>
1
2
3
()t.__next__() 方法调用一次,就从元组对象里面取一次

2.字典

字典类型 就是根据一个信息查找另外一个信息的方式构成了 “键值对” ,它
表示索引用的键 和 对应的值构成的 成对关系
在这里插入图片描述
字典当中的键 要求是不可变序列,所以谁可以作为字典当中的键??
你的字符串可以、整数可以、浮点可以,元组可以。但是 列表是不可以的!!!!

字典的创建与删除
#(1)创建字典
d={10:'cat',20:'dot',30:'pet',20:'jarvis'}   #后面个相同的key,覆盖了前面个key对应的value
print(d)#(2)zip函数创建字典
lst1=[10,20,30,40]
lst2=['cat','dog','pet','zooe','jarvis']
zipobj=zip(lst1,lst2)
print(zipobj)   #<zip object at 0x000001F3B14AF980>#print(list(zipobj))  #[(10, 'cat'), (20, 'dog'), (30, 'pet'), (40, 'zooe')]
print('----------分割线-------------')d=dict(zipobj)   #一定要注释 11 行,
print(d)print('----------分割线-------------')#使用参数创建字典
d=dict(cat=10,dog=20)  #左侧catkey,右侧的是value
print(d)t=(10,20,30)
print({t:10})  #t是key,10是value, 元组是可以作为字典中的key, 因为元组是不可变的# lst=[10,20,30]
# print({lst:10})   # TypeError: unhashable type: 'list'  可变数据类型列表不能作为 字典的key# 字典属于序列,序列的方法都能使用
print('max',max(d))
print('min',min(d))#注:字典中的key是无序的,Python3.5及其之前的版本字典的key在输出是无序,但是从Python3.6版本之后,Python解释器进行了处理,所以才会看到输出的顺序与添加的顺序一致

结果:

D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\示例5-15字典创建与删除.py 
{10: 'cat', 20: 'jarvis', 30: 'pet'}
<zip object at 0x000002E16C44C780>
----------分割线-------------
{10: 'cat', 20: 'dog', 30: 'pet', 40: 'zooe'}
----------分割线-------------
{'cat': 10, 'dog': 20}
{(10, 20, 30): 10}
max dog
min cat
字典元素的访问与遍历
d={10:'cat',20:'dot',30:'pet',20:'jarvis'}
#访问字典中的元素
#(1)使用d[key]方式
print(d[10])#(2)d.get(key)
print(d.get(10))#二者之间是有区别的,如果key, d[key]报错, d.get(key)可以指定默认值
#print(d['java'])   #KeyError: 'java'
print(d.get('java'))  #None
print(d.get('java','不存在'))#字典的遍历
for item in d.items():print(item)  #key,value 组成的一个元素#在使用for遍历时,分别获取key,value
for key,value in d.items():print(key,'------->',value)

结果:

D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\示例5-16字典元素的访问与遍历.py 
cat
cat
None
不存在
(10, 'cat')
(20, 'jarvis')
(30, 'pet')
10 -------> cat
20 -------> jarvis
30 -------> pet

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/580857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM基础原理篇-带你深入拆解G1垃圾回收原理

一、一统天下的G1垃圾回收器概述 大白话&#xff1a; 1.整个堆空间&#xff0c;新生代和老年代比例大概为2:8&#xff1b; 2.正常情况下&#xff0c;新生代回收是高频的&#xff0c;混合回收是频率是适中的&#xff0c;完全回收则是基本不会发生、频率低代价高的&#xff0c;一…

Unity之DOTweenPath轨迹移动

Unity之DOTweenPath轨迹移动 一、介绍 DOTweenPath二、操作说明1、Scene View Commands2、INfo3、Tween Options4、Path Tween Options5、Path Editor Options&#xff1a;轨迹编辑参数&#xff0c;就不介绍了6、ResetPath&#xff1a;重置轨迹7、Events&#xff1a;8、WayPoin…

什么是众创空间?他有什么特点?

众创空间&#xff0c;是一种为大众创新创业提供专业化服务的创业服务平台&#xff0c;是顺应网络时代创新创业特点和需求&#xff0c;通过市场化机制、专业化服务和资本化途径构建的低成本、便利化、全要素、开放式的新型创业服务平台的统称。众创空间包括创客空间、联合办公空…

KCTF2023_签到题 1

题目环境&#xff1a; 提示说只有管理员权限才可以访问 考虑到伪造Client-Ip准备工作&#xff1a; 所需工具&#xff1a;Kali、burp suite、火狐浏览器 抓包-伪造Client-Ip-放包 得到flag&#xff1a;flag{tdQvKTtPj7v1lbhkDPesHb}

redis的搭建及应用(三)-Redis主从配置

Redis主从配置 为提升Redis的高可用性&#xff0c;需要搭建多个Redis集群以保证高可用性。常见搭建方式有&#xff1a;主从&#xff0c;哨兵集群等&#xff0c;本节我们搭建一主二从的多Redis架构。 redis主从安装1主2从的方式配置&#xff0c;以端口号为redis的主从文件夹。 主…

python作业题百度网盘,python作业答案怎么查

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python作业题百度网盘&#xff0c;python作业答案怎么查&#xff0c;今天让我们一起来看看吧&#xff01; 1 以下代码的输出结果为&#xff1a; alist [1, 2, 3, 4] print(alist.reverse()) print(alist) A.[4, 3, 2, …

从 Google Gemini 到 OpenAI Q*(Q-Star):调研重塑生成人工智能(AI)的研究

文章目录 一、前言二、主要内容三、总结 &#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 这篇综述探讨了生成式人工智能不断发展的前景&#xff0c;重点关注混合专家&#xff08;MoE&#xff09;、多模态学习的变革性影响&#xff0c;以及对…

解决xcode15下载模拟器慢以及没有断点续传

问题描述&#xff1a;Xcode15 为了最小化安装包大小&#xff0c;iOS17模拟器需要单独安装。然而下载模拟器的时候&#xff0c;经常出现Could not download iOS... 的下载失败提示。 以下为解决方案&#xff1a; 一、直接下载IOS17模拟器的包 以下两种方式都可以 方法一&…

学习笔记:数据挖掘与机器学习

文章目录 一、数据挖掘、机器学习、深度学习的区别&#xff08;一&#xff09;数据挖掘&#xff08;二&#xff09;机器学习&#xff08;三&#xff09;深度学习&#xff08;四&#xff09;总结 二、数据挖掘体系三、数据挖掘的流程四、典型的数据挖掘系统 一、数据挖掘、机器学…

2023:代码岁月如歌,技术之路踏实前行

前言 转眼之间&#xff0c;2023年即将谢幕&#xff0c;这一年对于我而言充满了挑战、收获与成长。在这篇博客中&#xff0c;我将分享我在技术领域的一些心得体会&#xff0c;以及在项目和职场中的所思所感。愿这些文字能够为你带来启发&#xff0c;同时让我能够在反思中更进一…

Vuex状态管理(报警信息数量跟随变化)

需求&#xff1a;侧边栏显示报警信息数量 在store/project.js文件中定义相关状态 // 存储项目信息 const projectInfo JSON.parse(sessionStorage.getItem(projectInfo)) ? JSON.parse(sessionStorage.getItem(projectInfo)) : ; import { getUntreatedProjectAlarm } from …

Qt Creator可视化交互界面exe快速入门4

上一期介绍了信号与槽&#xff0c;本期介绍加法计算器 我们来新建一个项目 然后拖动设置按钮 还需要个输出框 这里拖动Line Edit 我这里只是简单演示一下&#xff0c;做个低配版计算器&#xff0c;再加个加号和一个等于号就结束了。 然后回到代码编辑部分&#xff0c;我们需要…

VGG网络分析与demo实例

参考自 up主的b站链接&#xff1a;霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 VGG 在2014年由牛津大学著名研究组 VGG&#xff08;Visual Geometry Group&#xff09;提出&#xff0c;斩获该年 Imag…

Java 新手常踩得坑,清个缓存就解决了?

【IDEA教程】IDEA 如何清除缓存&#xff1f; 大家好&#xff0c;我是 JavaPub。 最近遇到群里小伙伴遇到一个很大的难题&#xff0c;相信这个问题很多人在初入行时都遇到过。 事情是这样&#xff0c;一个小伙伴刚入职一家公司&#xff0c;公司给了他一个任务&#xff0c;虽然…

公司使用了加密软件,文件无法复制

在当今数字化时代&#xff0c;企业面临着越来越多的数据泄露和信息安全威胁。为了保护公司的敏感信息和知识产权&#xff0c;许多企业选择使用加密软件来加强数据的安全性。其中一项重要的功能是防止未经授权的文件复制。本文将探讨公司使用加密软件后&#xff0c;为何文件无法…

枚举算法:解决问题的穷举之道(二)

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

macOS系统下载安装PyCharm社区版本的流程(详细)

第一步 进入PyCharm官网&#xff0c;链接&#xff1a;Get Your Educational Tool - JetBrains 第二步 选择下拉框&#xff0c;根据自己的电脑芯片选择下载版本&#xff08;芯片查看位置&#xff1a;设置-通用-关于本机&#xff09;然后点击Download按钮 ​​​​​​​ -- 第…

科研学习|论文解读——融合类目偏好和数据场聚类的协同过滤推荐算法研究

论文链接&#xff08;中国知网&#xff09;&#xff1a; 融合类目偏好和数据场聚类的协同过滤推荐算法研究 - 中国知网 (cnki.net) 摘要&#xff1a;[目的/意义]基于近邻用户的协同过滤推荐作为推荐系统应用最广泛的算法之一&#xff0c;受数据稀疏和计算可扩展问题影响&#x…

005.HCIA 传输层

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP (Transmission Control Protocol)和用户数据包协议UDP (User Datagram Protocol)。 1、相关概念 a. 传输层的端口 端口范围&#xff1a;0-65535 知名端口&#xff1a;0-1023&…

图灵日记之java奇妙历险记--类和对象

目录 类的定义和使用类的定义格式 类的实例化类和对象的说明 this引用this引用的特性 对象的构造及初始化就地初始化构造方法 封装包导入包中的类自定义包 static成员static修饰成员变量static修饰成员方法 代码块代码块概念及分类构造代码块静态代码块 匿名对象 类的定义和使用…