Python学习笔记——存储容器

news2024/11/18 17:41:36
  • 食用说明:本笔记适用于有一定编程基础的伙伴们。希望有助于各位!

列表

列表类似数组,其中可以包含不同类型的元素,写法如下:

list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
  • 通常情况下我们使用方括号包裹多个元素,组成列表
列表的相关方法
    list1 = [1, 2, 3, 4, 5, 6, 7, 8]
    # 第一个冒号 : 表示切片操作的开始。
    # 第二个冒号 : 表示切片操作的结束。
    # 3是步长(stride),表示每隔3个元素选择一次。
    print(list1[0:8:3])
    # 寻找元素的下标
    print(list1.index(2))
    # 寻找元素出现的次数
    print(list1.count(2))
    # 翻转数组
    print(list1.reverse())
    # 排序数组
    print(list1.sort())
    # 移除最后一个元素
    print(list1.pop())
    # 移除特定位置元素
    print(list1.pop(0))
    # 移除列表中以值指定元素的索引,默认移除首个元素
    print(list1.remove(3))
    # 添加元素
    list1.append(9)
    # 插入元素
    list1.insert(0, 0)
    # 删除某个元素
    del list1[0]

    print(list1)
    # 删除列表
    list1.clear()
  • 以上为列表常用方法,此处可以用于回顾翻阅
  • 其中pop和append方法类似于JS中pop和unshift方法
  • remove方法更类似于JS中的splice方法,但通常情况下remove的参数值时一个元素值而非下标
元组

元组是一种只读不可修改的列表:

>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d"   #  不需要括号也可以
>>> type(tup3)
<class 'tuple'>
  • 元组常用于一些数据集合,而这些数据集合又不可被更改
元组的相关方法
    tuple1 = (1, 2, 3, 4, 5)
    tuple2 = (1, 2, 3, 4, 5)
    tuple3 = tuple1 + tuple2
    # 长度
    print(len(tuple3))
    # 最大值
    print(max(tuple3))
    # 最小值
    print(min(tuple3))
    # 寻找元素出现次数
    print(tuple3.count(1))
    # 寻找第一个元素所在位置
    print(tuple3.index(1))

    list1 = [1, True, [1, 2]]
    # 可迭代类型转化为元组类型
    tuple4 = tuple(list1)
    print(type(tuple4), tuple4)
  • 由于元组的不可修改性,其不包含元素的修改和排序等内置方法
  • 虽然元组内元素不可修改,但其自身可以通过del关键字删除
  • 同样的,查询元素与列表类似
字典

字典类似JS中的对象:

 

  • 字典由键值对组成,与JS不同的是键必须使用引号包裹
字典的相关方法
# 使用内建函数初始化字典类型
    dict1 = dict()
    print(type(dict1), dict1)
    # 字典更新
    dict1['name'] = 'Pole'
    # 访问字典
    print(dict1['name'])
    # 删除字典元素
    del dict1['name']
    print(dict1)
    # 新增元素
    dict1['name'] = 'pole'

    # 浅拷贝
    dict2 = dict1.copy()
    print(type(dict2), dict2)

    # 生成新的字典类型,第一个参数是可迭代类型,一般是一个键列表,第二个参数是值
    dict3 = dict1.fromkeys(dict1, 'Pole')
    print(dict3)

    # 获取某个键的值
    print(dict1.get('name'))

    # 查询对应键是否在字典中
    print('name' in dict1)

    # 返回所有键,默认返回视图对象
    print(dict1.keys())

    # 返回字典,默认返回视图对象
    print(dict1.items())

    # 返回字典值,默认返回视图对象
    print(list(dict1.values())[0])

    # 从其他字典中加入现有字典
    newDict = {'age': 19}
    newTuple = [('isMarried', True), ('isMale', False)]
    dict1.update(newDict)
    dict1.update(newTuple)
    print(dict1)

    # 删除对应键值对,并返回
    dict1.pop('isMale')
    print(dict1)

    # 删除对应键值对,并返回
    kvTuple1 = dict1.popitem()
    print(kvTuple1)
    print(dict1)
  • 字典的方法众多,其中对对象的键和值操作较为常用
  • update方法常用于对字典的扩充
  • 需要注意的是keys、values、items都返回视图对象
集合
parame = {value01,value02,...}
或者
set(value)

集合(set)是一个无序的不重复元素序列。

集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

我们可以通过一个例子来展示其特殊的用途:

    # 一个简单的应用,在一串字符串中剔除特定字符,并获取特异字符
    set2 = {x for x in 'sdhnfkjabjfbasdkjhf' if x not in 'abcd'}
    print(set2)
集合的常用方法
    # 添加元素
    set1.add(6)
    print(set1)

    # 添加多个元素
    set1.update((1, 7, 8))
    print(set1)

    # 删除元素,元素不存在,则会发生错误
    set1.remove(1)
    print(set1)

    # 删除多个元素,元素不存在,不会错误
    set1.discard(1)
    print(set1)

    # 删除任意元素
    print(set1.pop())
    print(set1)

    # 计算个数
    print(len(set1))

    set2 = {1, 2, 3, 1, 2, 3, 5}

    # 差集
    print(set1.difference(set2))

    # 交集
    print(set1.intersection(set2))

    # 并集
    print(set1.union(set2))

    # 对称差
    print(set1.symmetric_difference(set2))

    # 对称差合并
    set1.symmetric_difference_update(set2)
    print(set1)
  • 上面包含了大部分常用方法,更多方法可查阅官方文档
  • 集合更多用于多个集合的处理比较中

更多方法可见:

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

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

相关文章

Speech | .flac文件转换为.wav文件,并进行重采样(Python脚本)

把flac结尾的&#xff0c;替换为wav文件&#xff0c;然后对wav文件进行重采样&#xff08;48000->22050&#xff09;&#xff0c;可以更换采样率&#xff0c;运行后保存为新的地址&#xff0c;所有文件都在同一文件夹下&#xff08;保证能运行&#xff09;。 # 把flac结尾的…

java中使用sqlserver调用MySQL数据库的表进行操作

项目场景&#xff1a; 部分需求需要对不同的数据库进行操作,我这里是一个小程序里调用了另一个数据 解决方案&#xff1a; 目前我个人使用了两个方案解决的,看自己觉得哪个方便 方案一: 使用JDBC 新建一个实体类,相当于mapper.xml了,然后在这个实体类里进行数据库的连接操作…

2023年中国气体压缩机市场规模及产量分析[图]

气体压缩机是把机械能转换为气体压力能的一种动力装置&#xff0c;常用于风动工具提供气体动力&#xff0c;在石油化工、钻采、冶金等行业也常用于压送氧、氢、氨、天然气、焦炉煤气、惰性气体等介质。常见的气体压缩机包括离心式压缩机、螺杆式压缩机、往复式压缩机等。 气体…

VUE:可收缩工具栏

作者:CSDN @ _乐多_ 本文记录了一个vue可伸缩工具栏组件,代码即插即用。 只需要新增函数名并且填函数体就可以。 效果如下图所示, 文章目录 一、Vue代码一、Vue代码 <template><div class="ToolBar"><div class=

全球范围内先进封装设备划片机市场将迎来新的发展机遇

随着半导体工艺的不断发展&#xff0c;先进封装技术正在迅速发展&#xff0c;封装设备市场也将迎来新的发展机遇。作为先进封装设备中的关键设备之一&#xff0c;划片机的发展也备受关注。 划片机是用于切割晶圆或芯片的设备&#xff0c;其精度和稳定性直接影响到封装产品的质量…

Vue_组件详解

Vue_组件详解 初识组件组件组成组件的根节点父子组件 组件注册全局注册局部注册 组件间数据传递Props&#xff08;父 ----> 子&#xff09;props声明注意问题 组件间数据传递emit&#xff08;子 ----> 父&#xff09; 初识组件 组件&#xff08;Component&#xff09;&a…

WordPress导航主题蘑菇导航源码

蘑菇导航的列表页有两种风格&#xff0c;分别对应宽屏、窄屏。可以点击 文章。博客查看演示。文章页也是如此&#xff0c;这两种风格可以在后台设置。 本站菜单中的 VIP解析、音乐、图床&#xff0c;是单独的源码&#xff0c;不包含在本次主题中。后期看大家的要求&#xff0c…

Python中的循环语句Cycle学习

二、循环语句 1、什么是循环语句 一般编程语言都有循环语句,为什么呢? 那就问一下自己,我们弄程序是为了干什么? 那肯定是为了方便我们工作,优化我们的工作效率啊。 而计算机和人类不同,计算机不怕苦也不怕累,也不需要休息,可以一直做。 你要知道,计算机最擅长就…

【Java】栈和队列的模拟实现(包括循环队列)

异常为空栈异常&#xff1a; public class EmptyStackException extends RuntimeException {public EmptyStackException(){}public EmptyStackException(String msg){super(msg);}}循环队列&#xff1a; class MyCircularQueue {public int[] elem;public int front;//队…

绿色低碳,数字为先:万应低代码推动能源资产管理优化

10月7日&#xff0c;湘江新区经济发展局发布关于印发《湖南湘江新区推进碳达峰碳中和三年行动工作方案及责任分工&#xff08;2023-2025&#xff09;》的通知&#xff0c;把碳达峰碳中和工作纳入湖南湘江新区经济社会发展和生态文明建设整体布局。 随着科学技术的不断发展&…

10月第2周榜单丨飞瓜数据B站UP主排行榜榜单(B站平台)发布!

飞瓜轻数发布2023年10月9日-10月15日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数、带货数据等维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营…

线程池线程保活以及动态更新线程数

基本知识 各位大佬在面试过程肯定会被问到线程池或者多线程的问题&#xff0c;例如&#xff1a; 线程池核心参数及其作用线程池添加任务的执行顺序任务队列以及任务的拒绝策略等等 这些问题是相信稍微研究过线程池JDK源码的都能掌握。有兴趣的可以参数这篇博文。 在进入今天…

去除照片中多余人物方法分享-这些方法快收藏起来

拍照时经常会碰到一些意外的情况&#xff0c;比如不小心捕捉到了一些不需要的人或物&#xff0c;这会影响照片的美观效果&#xff0c;因此学习如何去除照片中多余人物就显得特别重&#xff0c;下面分享一些常用的去除照片中多余人物的方法&#xff0c;如果你也感兴趣的话&#…

使用按钮从 SAP 系统内打开 Excel 文件

了解如何通过 SAP 屏幕上创建的按钮打开所需的 Excel 文件。为了演示这一点&#xff0c;将指导您完成以下步骤。 使用 del 命令删除 SAP 上不必要的元素添加一个按钮&#xff0c;单击后打开弹出窗口创建一个函数来选择 excel 文件创建打开所需 excel 文件的函数 定制 登录 S…

Linux下程序(C语言)实现对文件的复制

目标&#xff1a; 使用系统调用实现cp命令。 原理&#xff1a; 使用系统调用fopen打开文件&#xff0c;使用fgets()从文件读数据&#xff0c;使用fputs() 向文件写数据。 linux 文件 创建命令为 vi (文件名&#xff09;.c 文件源码&#xff1a; #include<stdio.h>…

linux安装达梦数据库(命令行安装)

安装达梦数据库 创建安装用户 1,创建安装用户组dinstall [rootdmDMServer1 ~]# groupadd -g 12345 dinstallgroupadd : 创建组 -g : 指定组id&#xff08;GID&#xff09; 12345&#xff1a; 指定的组名称 dinstall &#xff1a; 组名 2,创建安装用户dmdba [rootdmDMSe…

如何使用 Python 在终端中创建令人惊叹的图形

说明 在当今数据驱动的世界中&#xff0c;可视化或图形确实表达了一个胜过千言万语的故事。可视化提供了快速有效的通信媒体来传达数据&#xff0c;如果与文本或表格共享&#xff0c;则可能难以理解。 虽然有许多强大的可视化工具可用&#xff0c;但有时我们需要一种快速简便的…

SpringBoot的多环境切换(已废除)

profile是Spring对不同环境提供不同配置功能的支持&#xff0c;可以通过激活不同的环境版本&#xff0c;实现快速切换环境 application-dev.yaml server:port: 8082 application-test.yaml server:port: 8081 我们在主配置文件编写的时候&#xff0c;文件名可以是 applicat…

58 乘积最大子数组

乘积最大子数组 题解1 DP换成三个变量&#xff08;因为是连续的&#xff0c;只和上一个状态有关的&#xff0c;所以三个暂存变量迭代就行&#xff09; 给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的 非空连续子数组&#xff08;该子数组中至少包含一个数字&am…

出席第三届“一带一路”峰会的斯里兰卡总统会见深兰科技高层

10月16日&#xff0c;应斯里兰卡投资促进部的邀请&#xff0c;深兰科技集团董事副总裁刘园桂、集团营销中心总经理徐诗彪一行出席了在北京举行的“中斯投资论坛”。 图&#xff1a;刘园桂女士向斯里兰卡总统赠送熊猫智能公交模型 论坛期间&#xff0c;来北京参加第三届“一带一…