Python元组、集合、字典

news2024/11/19 3:37:00

总有一天你要一个人在暗夜中,向那座桥走过去

文章目录

一、元组

字符串、元组、列表的总结

二、集合

1.定义空集合

2.创建集合

(1)直接创建

(2)set函数

3.列表、元组、字符串、字典的去重

4.向集合中添加元素

(1)add函数

(2)update函数

5.集合元素的删除

(1)remove函数

(2)pop函数

(3)discard函数

6.集合的交集和并集

三、字典

1.创建字典

(1)直接用{},也是最常用的方法

(2)dict函数

2.字典的增、删、改、取

(1)增加

(2)删除

(3)修改

(4)获取

3.字典的各种操作函数

(1)get函数——过去字典的某个键对应的值。并返回

(2)keys函数——以列表的形式返回字典中的所有键

(3)items函数——以列表的形式返回字典中所有键值对

(4)values函数——以列表的形式返回字典中的所有值

(5)clear函数

(6)copy函数——创建字典副本

(7)fromkeys函数——创建一个新字典

(8)pop函数——从字典中删除指定键,并返回这个键的对应值

(9)popitem函数——删除字典中最后一项,并返回它的键和值

(10)setdefault函数——用于设置键的默认值

(11)update函数——将字典2的内容更新至字典1

四、成员/标识符检测与判断

1.成员检测(检测成员是否在序列中)

2.判断两个对象和是否相同


大家好,我是纪宁

今天要介绍的是python的元组、集合、字典,这是Python基础目前的学习进度

一起加油

一、元组

  元组与列表是类似的,写在()里(列表写在[])里,元素中间用逗号隔开,且元素类型可以不同

  元组在性质上与列表不同的是,元组里面的元素不能改变

  但是,如果元组里面有列表,列表里面的值可以改变

字符串、元组、列表的总结

元祖、字符串、列表中可以共同使用的常用函数

len() 返回字符串/元组/列表 的长度

min() 返回字符串/元组/列表 里面的最小值(如果是字符串,则逐个比较ASCII码) 

max() 返回字符串/元组/列表 里面的最小值(如果是字符串,则逐个比较ASCII码)

二、集合

  集合就是像这种的  { , , , }

  元素之间用逗号隔开、元素可以为任何类型

  集合是无序的,且集合里的元素是唯一的

1.定义空集合

使用方法:d=set()

不能直接用{},这样会被认为是空字典

2.创建集合

(1)直接创建

变量名={元素,元素,元素,元素,......}元素可以为元组、字符串、数字等

(2)set函数

变量名=set(元素),只能有一个元素(只能是元组、列表或者字符串等等)

当元素是字符串时,放在集合里就将字符串里面的字符逐个取出来

但是当字符串放在列表或者元组里面时,则不会将字符串给拆开

如 d=set("纪宁余微");print(d)   #字符串单独放

>>{'纪', '宁', '余', '微'}

    d=set([1,2,3,"纪宁余微"]);print(d)      #字符串在列表里

>>{1, 2, 3, '纪宁余微'}

3.列表、元组、字符串、字典的去重

将列表、元组、字符串、字典用set函数放入集合中,会自动去重

这里就用列表来举例子

如d=set([1,2,3,3,2,1,33,33,4,6]);print(d)

>>{1, 2, 3, 4, 33, 6}   #列表里的元素是无序的

4.向集合中添加元素

(1)add函数

用add函数往集合中添加数字/字符串/元组等,直接将元素加在集合末尾

使用方法:d.add(元素)

注意事项:如果添加的元素集合中已经有了,则不会显示(集合中不会出现重复元素)

(2)update函数

update函数可以将集合b合并于集合a中

使用方法:a.update(b)

如a={"纪宁","余微"};b={1,2,3}
a.update(b);print(a)  #对a操作,将b并入a

>>{1, 2, 3, '纪宁', '余微'}

5.集合元素的删除

(1)remove函数

使用方法:a.remove(要删除的元素)

注意事项:如果集合里有这个元素,就直接删除,如果没有的话,就报错

(2)pop函数

使用方法:a.pop()

作用:在a集合中随机删除一个元素

注意事项:如果集合里有元素,就直接删除,如果没有元素,就报错

(3)discard函数

使用方法:a.discard(要删除的元素)

作用:在a中删除要删除的元素

注意事项:如果集合里有元素,就直接删除,如果没有元素,不做任何处理

6.集合的交集和并集

&交集:s3=s1&s2——得到集合s1和集合s2的交集,并存入s3中

| 并集:s3=s1|s2——得到集合s1和集合s2的并集,并存入s3中

三、字典

  字典是一种映射类型,一种键对应一种值,且键是不可变的,所以字典键的类型必须是一种不可变类型

字典的键不能重复

  如果字典中有多个相同的键,只保留最后一个键的键和值(覆盖前面的)

  创建空字典 {}

1.创建字典

(1)直接用{},也是最常用的方法

创建方法:字典名={  键 : 值  ,  键 : 值  ,  键 : 值}

如d={
"姓名":"纪宁",
"年龄":18
}

键和值必须得一一对应

(2)dict函数

使用方法:dict(元组+列表)——将列表写在元组里

如d=dict((["名字","年龄"],["纪宁",18]))
print(d)

>>{'名字': '年龄', '纪宁': 18}

2.字典的增、删、改、取

(1)增加

使用方法:d[键名]=值(对应要增加的键和值)

如d={
"姓名":"纪宁",
"年龄":18
}

d["技能"]="剑法";print(d)

>>{'姓名': '纪宁', '年龄': 18, '技能': '剑法'}

(2)删除

使用del关键字

使用方法:del 字典名[键名]

如d='{姓名': '纪宁', '年龄': 18, '技能': '剑法'}

del d["纪宁"];print(d)

>>{'姓名': '纪宁', '年龄': 18}

(3)修改

使用方法:d[键名]=要修改的值

(4)获取

使用方法:d[键名]

获取这个键对应的值

3.字典的各种操作函数

(1)get函数——过去字典的某个键对应的值。并返回

使用方法:字典名.get(键名)

如d={
"姓名":"纪宁",
"年龄":18
}

r=d.get("名字");print(r)

>>纪宁

如果这个键在字典中不存在,则返回None

也可以让不存在的键返回一个默认值,但是原来的d里面的值不改变

如r=d.get("门派","天苍宫");print(r)

>>天苍宫

(2)keys函数——以列表的形式返回字典中的所有键

使用方法:字典名.keys()

如d={
"姓名":"纪宁",
"年龄":18
}
z=d.keys();print(z)

>>dict_keys(['姓名', '年龄'])

(3)items函数——以列表的形式返回字典中所有键值对

使用方法:字典名.items()

如d={
"姓名":"纪宁",
"年龄":18
}
z=d.items();print(z)

>>dict_items([('姓名', '纪宁'), ('年龄', 18)])

(4)values函数——以列表的形式返回字典中的所有值

使用方法:字典名.values()

如d={
"姓名":"纪宁",
"年龄":18
}

z=d.values();print(z)

>>dict_values(['纪宁', 18])

(5)clear函数

用于字典清空

使用方法:字典名.clear()

如d={
"姓名":"纪宁",
"年龄":18
}
d.clear();print(d)

>>{}

(6)copy函数——创建字典副本

字典副本与原字典互不影响(一个改变不影响另一个)

使用方法:字典名.copy()

如d={
"姓名":"纪宁",
"年龄":18
}
c=d.copy();print(c)

>>{'姓名': '纪宁', '年龄': 18}

(7)fromkeys函数——创建一个新字典

使用方法:字典名.fromkeys(参数1,参数2)

参数1是一个不可变序列,作为多个键;参数2是任意数据类型,作为每个键的值

所以fromkeys函数创建的字典的值都是相同的

(8)pop函数——从字典中删除指定键,并返回这个键的对应值

使用方法:字典名.pop(键名)

如d={
"姓名":"纪宁",
"年龄":18
}

c=d.pop("姓名");print(c)

>>纪宁

(9)popitem函数——删除字典中最后一项,并返回它的键和值

使用方法:字典名.popitem()

如d={
"姓名":"纪宁",
"年龄":18
}

c=d.popitem();print(d);print(c)

>> {'姓名': '纪宁'}
     ('年龄', 18)

(10)setdefault函数——用于设置键的默认值

使用方法:字典名.setfault(键,值)

如d={
"姓名":"纪宁",
"年龄":18
}

d.setdefault("门派","黑白学宫");print(d)

>>{'姓名': '纪宁', '年龄': 18, '门派': '黑白学宫'}

(11)update函数——将字典2的内容更新至字典1

使用方法:字典1名.update(字典2名)

若字典2的键在字典1中已存在,则对字典1对应键进行修改(改为字典2的值)

若字典2的键在字典1中没有,则对字典1进行添加;并保留1中2没有的键和值

如d_1={
"姓名":"纪宁",
"年龄":18,
"门派":"黑白学宫",
"师傅":"菩提老祖"
}
d_2={
"姓名":"余微",
"年龄":19,
"门派":"黑白学宫",
"道侣":"纪宁"
}
d_1.update(d_2);print(d_1)

>>{'姓名': '余微', '年龄': 19, '门派': '黑白学宫', '师傅': '菩提老祖', '道侣': '纪宁'}

四、成员/标识符检测与判断

1.成员检测(检测成员是否在序列中)

in / not in

in:如果对象在序列中,就返回True,否则就返回False

not  in:如果对象不在序列中,就返回True,否则就返回False

序列如果是字典的话,判断的对象是键

使用方法:对象   in/not in   序列

如:1 in (1,2,3,4)  #1在(1,2,3,4)这个元组序列里,就返回True

2.判断两个对象和是否相同

is / is not

is:判断对象是否相同,相同就返回True,否则就返回False

is not:判断对象是否不相同,不相同就返回True,否则就返回False

注意:这里的对象是不可变类型(如果对象是列表或者字典等可变类型,则必定判断为不相同)

如a=(1,2,3)
b=(1,2,3)
z=a is b

print(z)

>>True

在这里插入图片描述

 博主写了好长时间,如果你能给博主一个免费三连鼓励一下博主的话,那么你真是 泰裤辣

 

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

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

相关文章

VUE-001-在表格单元格(el-table-column)中添加超链接访问

在进行前端网页开发时&#xff0c;通常列表数据我们使用table展示。那么如何在 el-table-column 单元格中使用超链接呢&#xff1f; 如下即是解决方式的一种&#xff1a; 仅需要将如下代码&#xff1a; <el-table-column prop"url" label"访问链接" …

软件测试入门(测试环境及用例编写)

目录 一、什么是软件环境 二、软件运行环境类型 三、什么是测试用例&#xff08;测试case&#xff09; 四、测试用例包含哪些信息 五、测试用例设计方法 六、如何设计一个功能点的case 一、什么是软件环境 人有人类的生存环境&#xff1b;软件有软件的运行环境 二、软件…

数通王国历险记之TCP协议的三次握手和四次挥手

系列文章目录 数通王国历险记&#xff08;2&#xff09; 目录 前言 一、TCP我们称之为可靠的传输层协议&#xff0c;为什么称它为可靠呢? 二、TCP的建立——三次握手 1&#xff0c;提前知道TCP协议报文中都有些啥&#xff1f; 2.第一次握手 总的来说:就是PC1向PC2发出一个…

MySql进阶篇(附面试快速答法)

文章目录 1、慢查询1.1、如何定位慢查询呢&#xff1f;小总结面试快速答法 1.2、SQL语句执行很慢, 如何分析呢&#xff1f;小总结面试快速答法 2、存储引擎2.1、MySQL体系结构2.2、存储引擎特点小总结 3、索引3.1、什么是索引&#xff1f;小总结面试快速答法 3.2、聚集索引和非…

mesh网格数据解析及cesium可视化实现

代码实现运行效果 技术术语 Mesh通常指网络拓扑中的网状结构。在计算机网络中&#xff0c;Mesh是指每个节点都与其他节点相连&#xff0c;形成一个无中心的网状结构。Mesh网络常见于分布式计算、传感器网络、互联网等场景中。另外&#xff0c;在3D计算机图形学中&#xff0c;M…

SSMP整合案例(8) Restful开发表现层接口

之前几篇文章后面 我们的数据层 和 业务层基本就搭好了 然后 我们就要处理表现层 表现层开发 我们就还是用之前讲过的 Restful 然后 用Postman来做我们接口的测试 那话不多说 直接开干 在启动类同目录下创建一个 controller 包 下面创建一个类 叫 BookController BookControl…

5-3图像处理经典案例:椒盐噪声运算处理(matlab程序)

1.简述 椒盐噪声也称为脉冲噪声&#xff0c;是图像中经常见到的一种噪声&#xff0c;它是一种随机出现的白点或者黑点&#xff0c;可能是亮的区域有黑色像素或是在暗的区域有白色像素&#xff08;或是两者皆有&#xff09;。椒盐噪声的成因可能是影像讯号受到突如其来的强烈干…

C++ 基础知识(1)

文章目录 写在前面1、第一个c程序1.1、输入输出及注释1.2、命名空间 2、变量、数组、指针2.1、基本类型2.2、数组与字符串2.3、指针2.4、指针空值2.5、引用 3、判断与循环3.1、if、else3.2、for、while 4、函数与参数4.1、函数与缺省参数4.2、函数重载4.3、内联函数 写在前面 …

什么是云安全访问服务

云安全访问服务(Cloud Secure Access Service&#xff0c;CSAS)是一种网络安全服务&#xff0c;旨在保护云环境下的应用程序和数据。它提供了一种安全访问云应用程序和数据的方式&#xff0c;同时也可以保护云中的敏感信息不被未经授权的用户访问。CSAS包括多种安全功能&#x…

从程序员到架构师——缓存层场景

读缓存 业务场景 如何将十几秒的查询请求优化成毫秒级&#xff1f; 这次项目针对的系统是一个电商系统。每个电商系统都有个商品详情页。一开始这个页面很简单&#xff0c;只包括商品的图片、介绍、规格、评价等。 刚开始&#xff0c;这个页面打开很快&#xff0c;系统运行…

控制台里的神秘代码 \033[

“\033[”这串字符在控制台里有特殊的应用。 在串口工具里&#xff08;如sscom&#xff09;看着是一串字符。 在控制台里却可以改变字体颜色&#xff0c;显示进度条&#xff0c;甚至字符动画。 1 字体控制 #include <stdio.h>int main() {printf("以下是测试文字&…

MM 采购凭证的交货成本 表

如上图的交货成本表再 EKBZ表里面

9.1 I/O模型

目录 I/O基本概念 同步和异步 阻塞和非阻塞 五种I/O模型 五种I/O模型比较 I/O基本概念 I/O即数据的读取&#xff08;接收&#xff09;或写入&#xff08;发送&#xff09;操作 通常用户进程中的一个完整I/O分为两个阶段 用户进程空间<-->内核空间 内核空间<--&…

【GPT】中文通用大模型梳理与测评(C-Eval 、AGIEval、MMLU、SuperCLUE)

文章目录 概述申请后直接使用大模型开源可本地部署 通识数据集测评&#xff08;C-Eval 、AGIEval、MMLU、SuperCLUE&#xff09;自媒体报道SuperCLUE&#xff1a;中文通用大模型综合性基准C-Eval&#xff1a;中英测评&#xff08;清华上交提出&#xff09;当前排名&#xff08;…

【Unity编辑器扩展】(三)PSD转UGUI Prefab, 一键拼UI/同步字体/自动9宫切图(完结篇)

工具效果&#xff1a; 第一步&#xff0c;把psd图层转换为可编辑的节点树&#xff0c;并自动解析UI类型、自动绑定UI子元素&#xff1a; 第二步, 点击“生成UIForm"按钮生成UI预制体 (若有UI类型遗漏可在下拉菜单手动点选UI类型)&#xff1a; 验证一键生成UI效果: 书接上…

微信支付接口常用参数及证书区分

注意&#xff1a;服务商模式下&#xff0c;均是使用服务商的以下信息 1. 证书 1.1商户api证书&#xff08;v2和v3接口都需要使用&#xff09; 1.1.1获取方式&#xff1a; 什么是商户API证书&#xff1f;如何获取商户API证书&#xff1f; &#xff08;商户api证书 &#xff…

【Spring AOP】面向切面编程,面向切面编程是面向对象编程的孪生兄弟嘛?且听我细细道来! ! !

前言: 大家好,我是良辰丫,面向切面编程和面向对象编程是两种几乎不同的编程方式,并不是所谓的孪生兄弟,但是我们可以说面向切面编程是面向对象编程的一种补充和完善,到底是什么意思呢?请跟随良辰的步伐往下瞧! ! !&#x1f48c;&#x1f48c;&#x1f48c; &#x1f9d1;个人主…

机器学习7:特征工程

在传统的软件工程中&#xff0c;核心是代码&#xff0c;然而&#xff0c;在机器学习项目中&#xff0c;重点则是特征——也就是说&#xff0c;开发人员优化模型的方法之一是增加和改进其输入特征。很多时候&#xff0c;优化特征比优化模型带来的增益要大得多。 笔者曾经参与过一…

【初识 Docker | 中级篇】 Docker 中使用 docker-compose 安装 Nacos

文章目录 前言一、安装 docker1、安装docker2、安装docker-compose 二、Nacos 单机安装1.创建配置文件1.1.创建目录1.2.创建nacos-logback.xml1.3.创建application.properties1.4.创建docker-compose.yml 2.nacos数据库表结构3.启动Nacos容器 总结 前言 可以按照以下步骤在 Do…

Text2Video-Zero:Text-to-Image扩散模型是Zero-Shot视频生成器

Text2Video-Zero: Text-to-Image Diffusion Models are Zero-Shot Video Generators Paper: https://arxiv.org/abs/2303.13439 Project: https://github.com/Picsart-AI-Research/Text2Video-Zero 原文链接&#xff1a;Text2Video-Zero:Text-to-Image扩散模型是Zero-Shot视频…