[Python学习篇] Python公共操作

公共运算符

运算符描述支持的容器类型
+合并字符串、列表、元组
*复制字符串、列表、元组
in元素是否存在字符串、列表、元组、字典
not in元素是否不存在字符串、列表、元组、字典

示例:

  • 字符串
str1 = 'ab'
str2 = 'cd'
print(str1 + str2)  # abcd
print(str1 * 3)  # ababab
print('a' in str1)  # True
print('b' not in str2)  # True
  • 列表
list1 = [1, 2]
list2 = [10, 20]
print(list1 + list2)  # [1, 2, 10, 20]
print(list1 * 3)  # [1, 2, 1, 2, 1, 2]
print(1 in list1)  # True
print(1 not in list2)  # True
  • 元组
t1 = (1, 2)
t2 = (10, 20)
print(t1 + t2)  # (1, 2, 10, 20)
print(t1 * 3)  # (1, 2, 1, 2, 1, 2)
print(1 in t1)  # True
print(1 not in t2)  # True
  • 字典
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print('name' in dict1)  # True
print('name' in dict1.keys())  # True
print('Tom' in dict1.values())  # True
print('Tom' not in dict1.values())  # False

公共方法

方法名描述
len()计算容器中元素个数
del 或 del()删除
max()返回容器中元素最⼤值
min()返回容器中元素最⼩值
range(start, end, step)⽣成从start到end的数字,步⻓为 step,供for循环使⽤
enumerate()函数⽤于将⼀个可遍历的数据对象(如列表、元组或字符串)组合为⼀个索引序 列,同时列出数据和数据下标,⼀般⽤在 for 循环当中。

示例:

  • len():获取长度
# 1. 字符串
str1 = 'abcde'
print(len(str1))  # 5
# 2. 列表
list1 = [10, 20]
print(len(list1))  # 2
# 3. 元组
t1 = (10, 20, 30, 40, 50)
print(len(t1))  # 5
# 4. 集合
s1 = {10, 20, 30}
print(len(s1))  # 3
# 5. 字典
dict1 = {'name': 'Tom', 'age': 18}
print(len(dict1))  # 2
  • del / del():删除
# 1.字符串
str1 = 'abcde'
del str1
print(str1) # 报错,因为变量str1已经被删除# 2.列表
list1 = [1, 2, 3]
del list1[0]
print(list1)  # [2, 3]# 3.字典
dist1 = {'name': 'Tom', 'age': 18}
del dist1['age']
print(dist1)  # {'name': 'Tom'}
  • max() / min():获取最大/最小值
str1 = 'abcde'
list1 = [1, 2, 3]
t1 = (10, 20, 30)
print(max(str1))  # e
print(min(str1))  # a
print(max(list1))  # 3
print(min(list1))  # 1
print(max(t1))  # 30
print(min(t1))  # 10
  • range():自动顺序范围内的数值
for i in range(1, 10, 1):print(i)  # 1 2 3 4 5 6 7 8 9for i in range(1, 10, 2):print(i)  # 1 3 5 7 9for i in range(10):print(i)  # 0 1 2 3 4 5 6 7 8 9
  • enumerate():让可迭代对象在遍历时有index

语法:

enumerate(可遍历对象, start = 0)  # start 参数用来设置遍历数据下标的起始位置,默认0。

示例:

list1 = ['a', 'b', 'c', 'd', 'e']
for obj in enumerate(list1):print(obj)for index, char in enumerate(list1, start=0):print(f'下标是{index}, 对应的字符是{char}')


列表、元组、集合的类型转换

  • list():将元组、集合类型转成列表类型。
  • tuple():将列表、集合类型转成元组类型。
  • set():将列表、元组类型转成集合类型。

示例:

list1 = [1, 2, 3]
tuple1 = (1, 2, 3)
set1 = {1, 2, 3}
print(type(list1))  # <class 'list'>
print(type(tuple1))  # <class 'tuple'>
print(type(set1))  # <class 'set'># 元组、集合 转 列表
print(type(list(tuple1)))  # <class 'list'>
print(type(list(set1)))  # <class 'list'># 列表、集合 转 元组
print(type(tuple(list1)))  # <class 'tuple'>
print(type(tuple(set1)))  # <class 'tuple'># 列表、元组 转 集合
print(type(set(list1)))  # <class 'set'>
print(type(set(tuple1)))  # <class 'set'>

内置函数 zip()

Python 内置函数 zip() 用于将多个可迭代(迭代的意思是可以遍历)对象(如列表、元组等)“打包”成一个元组的迭代器。zip() 会按照最短的可迭代对象长度进行配对,创建一个个包含来自每个可迭代对象对应位置元素的元组。可以将这些元组解包成独立的变量。

语法:

zip(*iterables)

示例一:将两个列表打包成一个元组迭代器。

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped))  # 输出: [(1, 'a'), (2, 'b'), (3, 'c')]

 示例二:将三个列表(集合、元组)打包成一个元组迭代器

list1 = [1, 2, 3]
set2 = {'a', 'b', 'c'}
t3 = (0.1, 0.2, 0.3)
zipped = zip(list1, set2, t3)
print(list(zipped))  # 输出: [(1, 'a', 0.1), (2, 'b', 0.2), (3, 'c', 0.3)]

示例三:不同长度的可迭代对象

list1 = [1, 2, 3, 4]
list2 = ['a', 'b']
zipped = zip(list1, list2)
print(list(zipped))  # 输出: [(1, 'a'), (2, 'b')] 只取最短的长度

示例四:解压缩已打包的元组迭代器

zipped = [(1, 'a'), (2, 'b'), (3, 'c')]
unzipped = zip(*zipped)
list1, list2 = list(unzipped)
print(list1)  # 输出: (1, 2, 3)
print(list2)  # 输出: ('a', 'b', 'c')

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

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

相关文章

Go语言day1

下载go语言的安装程序&#xff1a; All releases - The Go Programming Language 配置go语言的环境变量&#xff1a; 写第一个go语言 在E:\go_workspace当前窗口使用cmd命令: 输入 go run test.go

炭熄卡顿、延迟高、联机报错的解决方法一览

炭熄在制作中巧妙地结合了程序随机生成的元素&#xff0c;为玩家呈现出了一个充满未知与惊险的开放世界&#xff0c;是一款独具匠心的中式民俗恐怖题材游戏。在这款游戏中&#xff0c;玩家将化身为一位意外闯入村子的青年&#xff0c;面对种种鬼怪、努力活下来。游戏将于6月24日…

分页插件结合collection标签后分页数量不准确的问题

问题1:不使用collection 聚合分页正确 简单列子 T_ATOM_DICT表有 idname1原子12原子23原子34原子45原子56原子6 T_ATOM_DICT_AUDIT_ROUTE表审核记录表有 idaudit1拒绝1通过4拒绝 我要显示那些原子审核了,我把两个表inner join 就是那些原子审核过了 idnameaudit1原子1拒绝…

iOS原生APP开发的技术难点

iOS原生APP开发的技术难点主要体现在以下几个方面&#xff0c;总而言之&#xff0c;iOS原生APP开发是一项技术难度较高的工作&#xff0c;需要开发者具备扎实的编程基础、丰富的开发经验和良好的学习能力。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xf…

org.springframework.boot:spring-boot-starter-parent:pom:2.3.4.RELEAS

前言 git上拉了一个项目构建过程中无论是clean还是install都报错 注&#xff1a;很看不惯某博主一点简单的经验分享都要开VIP才能查看的作风 org.springframework.boot:spring-boot-starter-parent:pom:2.3.4.RELEASE failed to transfer from https://maven.aliyun.com/rep…

鸿蒙开发通信与连接:【@ohos.bluetooth (蓝牙)】

蓝牙 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 蓝牙模块提供了基础的传统蓝牙能力以及BLE的扫描、广播等功能。 导入模块 import bluetooth from ohos.bluetooth;bluetooth.enableBluet…

【YOLOv10:在简约中发现卓越,VanillaNet定义目标检测新标准】

本文改进:神经网络模型VanillaNet 1.YOLOv10介绍 论文:[https://arxiv.org/pdf/2405.14458] 代码: https://gitcode.com/THU-MIG/yolov10?utm_source=csdn_github_accelerator&isLogin=1 摘要:在过去的几年里,由于其在计算成本和检测性能之间的有效平衡,YOLOS已经成…

【论文精读】RayMVSNet

今天读的是发表在CVPR2022上的无监督MVS文章&#xff0c;作者来自于国防科大。 文章链接&#xff1a;RayMVSNet 项目地址&#xff1a;Github Abstract 作者希望直接优化每个camera ray上的深度值&#xff0c;所以提出这个RayMVSNet来学习1D implicit field的序列预测。使用了…

软件测试之Linux常用基础

目录 1 总体介绍2 Linux操作系统3 应用领域和主流操作系统4 远程连接4.1 常用命令4.2 系统目录4.3 目录和文件管理4.3.1 目录管理命令4.3.2 文件管理命令 4.5 压缩和解压缩 5 用户权限5.1 用户和权限5.2 权限修改5.3 超级用户 6 进程管理7 端口面试题 1 总体介绍 操作系统作用…

第四篇:精通Docker构建:Dockerfile的艺术与策略

精通Docker构建&#xff1a;Dockerfile的艺术与策略 1. 开篇&#xff1a;探索Docker的革命 在探讨我们的主题之前&#xff0c;让我们先回顾一下Docker的概念。Docker是一个开源平台&#xff0c;用于自动化应用程序的部署、扩展和管理&#xff0c;这一切都是在轻量级的容器中进…

【通过新能源汽车的智慧数字底盘技术看计算机的相关技术堆栈?以后是软硬结合的全能程序员的天下,取代全栈(前后端都会的全栈程序员)】

汽车的“智慧数字底盘”是一个综合性的技术平台&#xff0c;旨在提升车辆的性能、安全性和驾驶体验。它集成了多种先进的技术和系统&#xff0c;是全能程序员的必杀技&#xff01; 1. 传感器技术 a. 激光雷达&#xff08;LiDAR&#xff09; 用于生成高分辨率的3D地图&#…

[吃瓜教程]概览西瓜书+南瓜书第1、2章

第一章 绪论 1.1机器学习的定义,什么是机器学习&#xff1f; 1&#xff09;机器学习是这样一门学科&#xff0c;它致力于研究如何通过计算的手段&#xff0c;利用经验来改善系统自身的性能。 2&#xff09;机器学习所研究的主要内容是关于在计算机上从数据中产生模型的算法&a…

给日期加上15天

// 给当前日期加上15天 function toAndTimeFifteen(params) {let startDate new Date(params); // 创建一个Date对象表示2024年5月31日startDate.setDate(startDate.getDate() 15); // 给当前日期加上15天let dateString formatDate(startDate)// 转换时间格式return dateSt…

之所以选择天津工业大学,因为它是双一流、报考难度适宜,性价比高!天津工业大学计算机考研考情分析!

天津工业大学&#xff08;Tiangong University&#xff09;&#xff0c;简称“天工大”&#xff0c;位于天津市&#xff0c;是教育部与天津市共建高校、国家国防科技工业局和天津市共建的天津市重点建设高校、国家“双一流”建设高校、天津市高水平特色大学建设高校、中国研究生…

6.Hugging Face Transformers 快速入门

Hugging Face Transformers 库独特价值 丰富的预训练模型&#xff1a;提供广泛的预训练模型&#xff0c;如BERT、GPT、T5等&#xff0c;适用于各种NLP任务。易于使用&#xff1a;设计注重易用性&#xff0c;使得即使没有深厚机器学习背景的开发者也能快速上手。最新研究成果的…

chrome 录制器及性能分析工具的使用

需求背景&#xff1a; 对比不同VPN方案网络延迟的差异。 验证工具&#xff1a; chrome浏览器自带的录制器、性能插件可以完美的解决这个问题。 注意&#xff1a;录制的操作都在当前页面&#xff0c;不存在新开标签页的场景 解决方案&#xff1a; 使用chrome录制器&#xf…

18张Python数据科学速查表.png

数据科学已经发展成为一个庞大的系统&#xff0c;包含数学、统计学、概率论、计算机、数据库、编程等各种理论技术。 目前在主流的数据科学领域一般有三大生态&#xff0c;一是以sas、matlab、spss等为代表的商业软件生态&#xff0c;二是围绕R语言建立起来的开源生态&#xf…

[Linux] 文件/目录命令

pwd print working directory cd change directory cd #返回主目录 cd ..返回上级目录 cd . 不动 cd ~ 用户名 进入某用户的主目录 mkdir mkdir 目录名 mkdir -p xx/yy/zz #一次创建多重目录 rmdir remove directory 删除空目录&#xff0c;只能删除空目录&#xff0c;别的不能…

嵌入式开发十八:USART串口通信实验

上一节我们学习了串口通信的基本理论&#xff0c;串口通信是学习单片机的一个重要的一步&#xff0c;非常重要&#xff0c;这一节我们通过实验来学习串口通信的使用&#xff0c;以及串口的接收中断的使用。 一、发送单个字节uint8_t数据或者字符型数据 实现的功能&#xff1a;…

React@16.x(33)动画(上)

目录 1&#xff0c;Transition一些常用 props1&#xff0c;mountOnEnter2&#xff0c;unmountOnExit3&#xff0c;appear 2&#xff0c;CSSTransition2.1&#xff0c;和 Transition 组件的区别2.2&#xff0c;举例2.3&#xff0c;常用 props2.3.1&#xff0c;classNames2.3.2&a…