当前位置: 首页 > news >正文

9.30Python基础-元组(补充)、字典、集合

Python元组(tuple)补充

1、元组的不可变性

元组(tuple)是Python中的一种内置数据类型,用于存储不可变的序列。虽然元组本身不可变,但元组内的元素如果是可变对象(如列表),则其内容可以改变。

示例:元组连接

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# 合并元组
tup3 = tup1 + tup2
print(tup3)

注意:以下操作是非法的

# tup1[0] = 100  # 尝试修改元组元素将引发错误

2、删除整个元组

元组不能删除单个元素,但可以使用del语句删除整个元组。

示例:删除元组

tup = ('openAI', 'hqyj', 100, 200)
print(tup)
del tup
# print(tup)  # 此行代码将引发错误,因为tup已被删除

3、元组运算

元组支持一些基本运算,如连接、复制和成员检查。

示例:元组运算

# 连接元组
print((1, 2, 3) + (4, 5, 6))
# 复制元组
print(('Hi!',) * 4)
# 成员检查
print(3 in (1, 2, 3))
# 迭代元组
for x in (1, 2, 3):print(x)

4、元组不可变性的实质

元组的不可变性是指其内存地址指向的数据不可变,但元组内可变对象的内容可以改变。

示例:元组内可变对象

tup = (1, 2, [3, 4], 5)
# 以下操作是合法的
tup[2].append(6)
print(tup)

7、元组常用API

Python提供了几个内置函数来处理元组。

示例:使用元组API

# 计算元组长度
print(len((1, 2, 3)))
# 获取元组中的最大值
print(max((1, 2, 3)))
# 获取元组中的最小值
print(min((1, 2, 3)))
# 将列表转换为元组
print(tuple([1, 2, 3]))

Python字典(dict)

字典(dict)是Python中的一种内置数据类型,用于存储键值对。字典是可变的,可以根据需要添加、修改或删除键值对。

1、创建字典

字典可以通过多种方式创建,但不应使用dict作为变量名。

示例:创建字典

d1 = {}  # 创建空字典
d2 = dict()  # 使用内建函数创建字典
d3 = {"name": "karen", "age": 23}
d4 = dict({"name": "jack", "age": 24})
print(d3)  # 打印字典
print(len(d3))  # 查看字典的长度
print(type(d3))  # 查看类型

2、访问字典值

可以通过键来访问字典中的值。

示例:访问字典值

mydic = {'Name': 'hqyj', 'Age': 7, 'Class': 'First'}
print(mydic['Name'])
print(mydic['Age'])

注意:访问不存在的键将引发错误

# print(mydic['Alice'])  # 此行代码将引发错误

3、修改字典

可以向字典中添加新的键值对或修改现有的键值对。

示例:修改字典

mydic = {'Name': 'hqyj', 'Age': 7, 'Class': 'First'}
mydic['Age'] = 8  # 更新值
mydic['School'] = "华清"  # 添加新的键值对
print(mydic['Age'])
print(mydic['School'])

4、删除字典元素

可以使用del语句或字典方法来删除字典中的元素。

示例:删除字典元素

mydic = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del mydic['Name']  # 删除键 'Name'
mydic.clear()      # 清空字典
# del mydic         # 删除整个字典

5、字典常用API

操作字典的函数:

序号函数描述
1len(dict)计算字典元素个数,即键的总数。
2str(dict)输出字典,可以打印的字符串表示。
3type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。

字典的方法:

序号函数及描述
1dict.clear()删除字典内所有元素
2dict.copy()返回一个字典的浅复制
3dict.fromkeys(seq)创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值
5key in dict如果键在字典dict里返回true,否则返回false
6dict.items()以列表返回一个视图对象
7dict.keys()返回一个视图对象
8dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2)把字典dict2的键/值对更新到dict里
10dict.values()返回一个视图对象
11pop(key,default)删除字典 key(键)所对应的值,返回被删除的值。
12popitem()返回并删除字典中的最后一对键和值。

Python集合(set)

集合(set)是Python中的一种内置数据类型,用于存储无序且不重复的元素集合。集合非常适合于需要进行成员检测、消除重复元素以及执行集合理论运算(如并集、交集和差集)的场景。

1、创建集合

可以使用大括号或set()函数来创建集合,但请注意区分空集合与空字典。

示例:创建集合

# 使用大括号创建集合
set1 = {1, 2, 3, 4}
print("集合 set1:", set1)
# 使用 set() 函数从列表创建集合
set2 = set([4, 5, 6, 7])
print("集合 set2:", set2)
# 使用 set() 函数从元组创建集合
set3 = set((4, 5, 6, 7))
print("集合 set3:", set3)

2、添加元素

可以向集合中添加单个元素或多个元素。

示例:添加元素到集合

s1 = set((4, 5, 6, 7))
s1.add(100)  # 添加单个元素
print("添加单个元素后的集合 s1:", s1)
s1.update([200, 300])  # 添加多个元素,可以是列表、元组、字典等
print("添加多个元素后的集合 s1:", s1)

3、移除元素

可以使用remove()discard()pop()方法来移除集合中的元素。

示例:移除集合中的元素

s1 = {10, 20, 30}
s1.remove(20)  # 移除元素,如果元素不存在则引发错误
print("移除元素后的集合 s1:", s1)
s1.discard(40)  # 移除元素,如果元素不存在不会引发错误
print("尝试移除不存在的元素后的集合 s1:", s1)
s1.pop()  # 随机移除并返回一个元素
print("随机移除元素后的集合 s1:", s1)

4、计算集合元素个数

使用len()函数可以计算集合中元素的数量。

示例:计算集合元素个数

s1 = {10, 20, 30}
print("集合 s1 的长度:", len(s1))  # 输出集合的长度

5、清空集合

使用clear()方法可以清空集合中的所有元素。

示例:清空集合

s1 = {10, 20, 30}
s1.clear()  # 清空集合
print("清空后的集合 s1:", s1)  # 输出空集合

6、判断元素是否在集合中

使用in关键字可以检查元素是否存在于集合中。

示例:检查元素是否存在

s1 = {10, 20, 30}
print("20 是否在集合 s1 中:", 20 in s1)  # 输出 True,因为 20 在集合中

7、集合内置方法完整API

Python集合提供了丰富的内置方法来执行集合操作。

集合的方法

方法描述
add()向集合添加元素
clear()清除集合中的所有元素
copy()返回集合的浅复制
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()用集合的交集更新集合
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True
issubset()判断指定集合是否为该方法参数集合的子集
issuperset()判断该方法的参数集合是否为指定集合的超集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合
symmetric_difference_update()用集合的对称差集更新集合
union()返回两个集合的并集
update()更新集合,添加指定集合中的元素
len()计算集合元素个数
使用这些方法,可以灵活地对集合进行操作以满足不同的需求。

相关文章:

9.30Python基础-元组(补充)、字典、集合

Python元组(tuple)补充 1、元组的不可变性 元组(tuple)是Python中的一种内置数据类型,用于存储不可变的序列。虽然元组本身不可变,但元组内的元素如果是可变对象(如列表)&#xff…...

桥接模式和NET模式的区别

桥接模式和NET模式的区别 NAT模式: NAT:网络地址转换(模式):借助宿主机来上网,没桥接那么麻烦,只用配置DNS即可。 缺点:扎根于宿主机,不能和局域网内其它真实的主机进行…...

Pigar:Python 项目的依赖管理利器

🌟 引言 在Python项目开发过程中,依赖管理是一个不可忽视的环节。一个精确且易于维护的requirements.txt文件对于项目的部署和协作至关重要。今天,我们将介绍一款名为Pigar的自动生成requirements.txt文件的依赖管理工具,它通过一…...

泰勒图 ——基于相关性与标准差的多模型评价指标可视化比较-XGBoost、sklearn

1、基于相关性与标准差的多模型评价指标可视化比较 # 数据读取并分割 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split plt.rcParams[font.family] = Times New Roman plt.rcParams[axes.unic…...

记录|Modbus-TCP产品使用记录【摩通传动】

目录 前言一、摩通传动实验图1.1 配置软件 IO_Studio1.2 测试软件Modbus Poll1.2.1 读写设置测试1.2.2 AI信号的读取 1.3 对应的C#连接Modbus的测试代码如下【自制,仅供参考】1.4 最终实验图 更新时间 前言 参考文章: 自己需要了解和对比某些产品的Modbu…...

工业交换机的RMON

工业交换机在现代网络中扮演着至关重要的角色,它不仅负责数据的高效传输,还具备强大的监控和管理能力。其中,RMON(远程监控)功能使得交换机的性能得以进一步提升,成为网络管理的重要工具。RMON提供了一种先…...

生态遥感数据下载分享

中国土壤湿度/土壤水分数据集(2000-2020) 下载网站:https://poles.tpdc.ac.cn/zh-hans/data/49b22de9-5d85-44f2-a7d5-a1ccd17086d2/#:~:text%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%AD%E5%9B%BD%E8%8C%83 note: The data can …...

ECharts 快速使用

最终效果 使用介绍 echarts图表的绘制,大体分为三步: 根据 DOM实例,通过 echarts.init方法,生成 echarts实例构建 options配置对象,整个echarts的样式,皆有该对象决定最后通过实例.setOption方法&#xf…...

进程--消息队列和共享内存

目录 消息队列 创建消息队列 删除消息队列 发送消息和接收 消息队列 消息队列就是一个消息的列表,进程可以在消息队列中添加消息和的读取消息 消息队列具有FIFO的特性,具有无名管道与有名管道各自的优势,可以支持任意两个进程的进程间通讯…...

useCallback()

官网直达:https://zh-hans.react.dev/reference/react/useCallback 点击按钮,子组件会重新渲染 import { memo, useState, useCallback } from react;const Child (props) > {console.log(我是子组件!我在渲染呢!&#xff0…...

Python面试题精选及解析--第二篇

在Python的面试中,除了基础语法和常用库的知识外,面试官往往还会通过一系列的问题来考察应聘者的逻辑思维、问题解决能力以及项目经验。以下是一些精心挑选的Python面试题及其详细答案,旨在帮助求职者更好地准备面试。 面试题一:…...

Linux操作常用问题

目录 Ubuntu操作问题vi编辑方向键键盘乱码回退键不能使用的问题解决问题的方法 Ubuntu操作问题 vi编辑方向键键盘乱码回退键不能使用的问题 编辑/etc/systemd/resolved.conf文件来修改DNS,结果编辑时键盘乱码,按下方向键会出现ABCD,且回退键…...

汽车发动机系统(ems)详细解析

汽车发动机系统EMS,即Engine-Management-System(发动机管理系统),是现代汽车电子控制技术的重要组成部分。以下是对汽车发动机系统EMS的详细解析,内容将涵盖其定义、工作原理、主要组成、功能特点、技术发展以及市场应…...

对比学习训练是如何进行的

对比学习(Contrastive Learning)是一种自监督学习的方法,旨在通过拉近相似样本的表示、拉远不相似样本的表示来学习特征表示。在训练过程中,模型并不依赖标签,而是通过样本之间的相似性进行学习。以下是对比学习的基本…...

React 生命周期 - useEffect 介绍

在 React 中,useEffect 钩子可以被看作是函数组件中的一种副作用管理工具,它的行为可以模拟类组件中的不同生命周期方法。useEffect 的执行时机取决于其依赖项数组(第二个参数)的设置方式。 根据 useEffect 的使用方式&#xff0c…...

OpenCV-指纹识别

文章目录 一、意义二、代码实现1.计算匹配点2.获取编号3.获取姓名4.主函数 三、总结 一、意义 使用OpenCV进行指纹识别是一个复杂且挑战性的任务,因为指纹识别通常需要高精度的特征提取和匹配算法。虽然OpenCV提供了多种图像处理和计算机视觉的工具,但直…...

IPD的核心思想

IPD是一套领先的、成熟的研发管理思想、模式和方法。它是根据大量成功的研发管理实践总结出来的,并被大量实践证明的高效的产品研发模式。 那么,按照IPD来开展产品研发与产品管理工作,应该基于哪些基本思想或原则?市场导向、客户…...

如何在算家云搭建MVSEP-MDX23(音频分离)

一、MVSEP-MDX23简介 模型GitHub网址:MVSEP-MDX23-music-separation-model/README.md 在 main ZFTurbo/MVSEP-MDX23-音乐分离模型 GitHub 上 在音视频领域,把已经发布的混音歌曲或者音频文件逆向分离一直是世界性的课题。音波混合的物理特性导致在没有…...

常用的Java安全框架

Spring Security: 就像Java安全领域的“瑞士军刀”,功能全面且强大。 支持认证、授权、加密、会话管理等安全功能。 与Spring框架无缝集成,使用起来特别方便。 社区活跃,文档丰富,遇到问题容易找到解决方案。 Apach…...

使用 PHP 的 strip_tags函数保护您的应用安全

在现代 web 开发中,处理用户输入是一项常见的任务。然而,用户输入的内容往往包含 HTML 或 PHP 标签,这可能会导致安全漏洞,如跨站脚本攻击(XSS)。为了解决这个问题,PHP 提供了一个非常有用的函数…...

您的计算机已被Lockbit3.0勒索病毒感染?恢复您的数据的方法在这里!

导言 在数字化时代,互联网已成为我们生活、工作和学习中不可或缺的一部分。然而,随着网络技术的飞速发展,网络安全威胁也日益严峻。其中,勒索病毒作为一种极具破坏性的网络攻击手段,正逐渐成为企业和个人面临的重大挑…...

经典sql题(十二)UDTF之Explode炸裂函数

1. EXPLODE: UDTF 函数 1.1 功能说明 EXPLODE 函数 是Hive 中的一种用户定义的表函数(UDTF),用于将数组或映射结构中的复杂的数据结构每个元素拆分为单独的行。这在处理复杂数据时非常有用,尤其是在需要将嵌套数据“打散”以便更…...

【AIGC】ChatGPT提示词解析:如何打造个人IP、CSDN爆款技术文案与高效教案设计

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯打造个人IP爆款文案提示词使用方法 💯CSDN爆款技术文案提示词使用方法 💯高效教案设计提示词使用方法 💯小结 💯前言 在这…...

【Ubuntu】Ubuntu常用命令

文章目录 网卡路由常用命令:编辑文件echo 权限设置gcc编译器: 重启网络服务 sudo service network-manager restart 网卡 #查看网卡信息 ip a #区分光网卡电网卡 sudo lshw -class network -businfo ifconfig ifconfig eth1 192.168.1.12/24 #重启网卡…...

架构设计笔记-5-软件工程基础知识-2

知识要点 构件组装是将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素连接,最终构成新的目标软件。 构件组装技术大体可分为: 1. 基于功能的组装技术:基于功能的组装技术采用子程序调用和参数传递的方式将构件组装起来。它要求库中的构件以子程序…...

[网络]抓包工具介绍 tcpdump

一、tcpdump tcpdump是一款基于命令行的网络抓包工具,可以捕获并分析传输到和从网络接口流入和流出的数据包。 1.1 安装 tcpdump 通常已经预装在大多数 Linux 发行版中。如果没有安装,可以使用包管理器 进行安装。例如 Ubuntu,可以使用以下…...

基于STM32和FPGA的射频数据采集系统设计流程

一、项目概述 高速采集射频(RF)信号是一个关键的需求。本文旨在设计一种基于STM32和FPGA的射频数据采集系统,以实现对接收到的射频信号的高精度和高速度的处理。该系统适用于无线通信、信号分析、雷达系统等应用场景。 技术栈关键词&#x…...

自动变速箱系统(A/T)详细解析

自动变速箱系统(A/T),即Automatic Transmission,是一种能够在车辆行驶过程中自动完成换挡操作的传动系统。以下是对自动变速箱系统(A/T)的详细解析,内容涵盖其定义、工作原理、主要组成、类型、…...

【Kubernetes】常见面试题汇总(四十三)

目录 98. kube-apiserver 和 kube-scheduler 的作用是什么? 99.您对云控制器管理器了解多少? 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)…...

OpenCL 学习(1)---- OpenCL 基本概念

目录 Overview异构并行计算OpenCL 架构平台模型执行模型OpenCL 上下文OpenCL 命令队列内核执行编程模型存储器模型存储器对象共享虚拟存储器 Overview OpenCL(Open Computing Language,开放计算语言) 最早由苹果公司提交草案,并于 AMD, IBM ,intel 和 n…...

怎么做电影网站不违法吗/阜新网络推广

一、闭包闭包从形式上来说是在外部函数中定义内部函数,并且内部函数引用了外部函数的变量,此变量叫做自由变量。或者说是将组成函数的语句和这些语句的执行环境打包在一起。闭包满足的条件:必须有一个内嵌函数内嵌函数必须使用外部函数的变量…...

做网站大公司有哪些/百度seo效果

内容出自《代码整洁之道》、Alex Kondov[1]的博文tao-of-react[2]和《Clean Code of Javascript》image.png代码整洁有什么用?image.png思路清晰,降低bug几率更容易维护,利于团队协作看起来舒服,提高效率......软件质量与代码整洁…...

专业网站建设行业现状/微信引流被加软件

在开发我的网页时,我遇到了使用HTML5的getUserMedia的一些困难.这是我第一次尝试实现此功能来录制用户音频输入. Flash不是此项目的选项,因为它也必须在移动设备上使用.我来这里看看是否有人有经验并知道如何用getUserMedia实现HTML5以记录用户麦克风一段时间(用PHP中的会话完成…...

河北住房和城乡建设厅官方网站/关键词点击价格查询

作者:Baijayanta Roy来源:towardsdatascience编译&内容补充:早起Python在用python进行机器学习或者日常的数据处理中,pandas是最常用的Python库之一,熟练掌握pandas是每一个数据科学家的必备技能,本文将…...

重庆免费网站建设/群排名优化软件官网

我正在用Qt编写一个应用程序,我想用插件扩展它。我的应用程序还有一个插件将使用的库。所以,我需要双向交流。基本上,插件可以调用库,加载插件的应用程序将调用它们。在现在,我的库用C编写,所以它有一些类。…...

网站模板编辑工具/seo概念

从业近十年!手把手教你单片机程序框架 第72讲开场白:我曾经遇到过这样的项目,客户由于外壳结果的原因,故意把液晶屏物理位置逆时针旋转了90度,在这种情况下,如果按之前的显示驱动就会发现字体也跟着倒了过来&#xff0…...