python的内置容器(list、set、tuple、dict)概念、使用及遍历方法

2023-11-19

容器概念:

        线性表         : 有序的容器结构

        数组(array) : 是由连续的内存空间组成

        栈(stack)      : 先进后出,后进先出

        队列(queue)   :先进先出,后进后出

        链表(list)  : 是由不连续的内存空间组了逻辑结构 。单向链表 #内存小,效率低

                                                                                     双向列表 #内存大,效率高

下面将依次介绍python的内置容器

        1.list

        3.set 

        2.tuple

        4.dict

        的概念、使用及遍历方法

                                                                        


Python 的list(列表)   底层的视线就是用的双向链表结构

定义list(列表)

        通过弱数据类型语言,直接将值赋值为一个变量

        A = [xxxxxx]                 #给列表A赋值

        A = list[xxxxxx]            #通过List全局函数创建列表

        len(A)                         #查看列表长度(获取列表A的长度)

        A [1]                            #可以通过下标获取值(下标从0开始),获取列表A的第二个值

列表的常见使用方法:

        append()                      #在尾部追加新的元素

         insert(index,元素)        #在特定位置(index)位置插入新的元素

        clear()                         #清空列表

        remove()                     #删除元素,没有就会异常

        pop(index)                  #删除特定位置(index)的元素,默认删除最后一个

        count()                       #统计某个元素的在列表里的数量

        index()                        #获取元素在列表中的第一个位置索引,没有就会异常

        copy()                        #浅拷贝对象(后续增加不会继承)

        extend()                      #列表合并

        reverse()                     #反转列表的顺序

        sort()                         #排序列表元素,默认升序,可以借用reverse达成降序

注:全局函数也有reverse,要查看先导入bulitins包,与list中的reverse功能类似。

遍历列表:

        方式一:

                        for i in A:

                                print(i)

        方式二:

                        Index = 0

                        While index < len(A):

                        print(A[index])

                        index += 1


set的使用:

hash表的实现(哈希、散列表):无序(求余实现)、不重复

                 A=Set {.....}                 #定义A为set(弱数据类型)

                 A=Set{[......]}               #set也可以接受列表(list也可以接受set)

                                                                                这个方法可以用于去重

Set的常见方法:

        add()                          #添加新元素

        clear()                         #清空列表

        copy()                         #浅拷贝对象(后续增加不会继承)

        A.Intersection(B)         #A与B的交集

        A.Union(B)                  #A与B的并集

        difference()                  #差集

        discard()                     #删除元素,如果没有就什么都不做

        remove()                     #删除元素,没有就会异常

        pop()                          #随机移除元素,为空就异常 

  注:set无下标,所以只能用for来遍历,后面用dict来演示


元祖(tuple): #是一种不可变的数据类型

        season = (‘春’,’夏’)                 #定义元祖

        season[1]                                 #获取’春’(不可变,只能查看)

元祖常见方法:

        count()                                     #统计某个元素的在列表里的数量

        index()                                     #获取元素在列表中的第一个位置索引,没有就会异常

注:不可变数据若包含了可变对象的话,该部分就可以变

(eg:元祖中的元素是列表)


Dict(字典): #内存结构类似于二维表格

        D = {‘name’: ‘小王’,’age’:’18’}                 #创建字典name 对应小王;age对应18

        D[‘name ’]                                              #访问字典(获取到’小王’)

        Del  D[‘age’]                                           #删除内容

字典常用方法:

        clear()                                                     #清空列表

        copy()                                                     #浅拷贝对象(后续增加不会继承)

        get()                                                       #获取值

        keys()                                                     #获取所有的键(‘name’就是键)

        values()                                                   #获取所有的值(一般与keys一起用)

        items()                                                    #获取所有内容(相当于keys+values)

        pop(‘name’)                                              #删除’name’的键值对(通过键来删)

        popitem()                                                 #以栈的形式删除(后进先删)

字典遍历:

        方式一:

                          for key in 字典对象:

                                   print(key,对象[key])

        方式二:

                        for key in d.keys():

                                print(key, d.get(key))

        方式三:         #可以加括号,效果不变

                        for key ,value in d.items()      = =       for( key ,value) in d.items()

                                print(key ,value)                                 print(key ,value)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python的内置容器(list、set、tuple、dict)概念、使用及遍历方法 的相关文章

  • 漂亮的地图打印机会抛出类型错误

    我已经使用配置了漂亮的打印机http wiki eclipse org CDT User FAQ How can I inspect the contents of STL containers 3F http wiki eclipse o
  • 在Python中不断寻找用户输入

    我将如何编写一个始终寻找用户输入的 Python 程序 我想我希望有一个等于输入的变量 然后根据该变量的等于值会发生不同的情况 因此 如果变量是 w 那么它将执行某个命令并继续执行 直到收到另一个输入 例如 d 然后会发生不同的情况 但直到
  • 如何使用 .pth 文件添加 Python 导入路径

    如果我将 pth 文件放入 site packages 中 则会给出一个ImportError 我不知道如何通过创建 pth 文件来导入 指在Python中导入 https stackoverflow com questions 69728
  • UnicodeDecodeError:“utf-8”编解码器无法解码位置 14 中的字节 0xb9:起始字节无效

    我正在使用 Django REST 进行文件上传测试 Python3 6 2Django1 11djangorest框架 3 6 4Excel OSX 15 38 170902 操作系统 10 12 6 过去使用普通照片文件可以成功完成此操
  • python blpapi安装错误

    我试图根据 README 中的说明为 python 安装 blpapi 3 5 5 但是在运行时 python setup py install 我收到以下错误 running install running build running b
  • 从 Django 基于类的视图的 form_valid 方法调用特殊(非 HTTP)URL

    如果你这样做的话 有一个 HTML 技巧 a href New SMS Message a 点击新短信打开手机的本机短信应用程序并预 先填写To包含所提供号码的字段 在本例中为 1 408 555 1212 以及body与提供的消息 Hel
  • Scrapy Splash,如何处理onclick?

    我正在尝试抓取以下内容 我能够收到响应 但我不知道如何访问以下项目的内部数据以抓取它 我注意到访问这些项目实际上是由 JavaScript 和分页处理的 这种情况我该怎么办 下面是我的代码 import scrapy from scrapy
  • 将相同的 Patch 实例添加到 matplotlib 中的多个子图中

    我正在尝试将补丁的相同实例添加到 matplotlib 中的多个轴 这是最小的例子 import matplotlib pyplot as mpl plt import matplotlib patches as mpl patches f
  • 在Python中清理属于不同语言的文本

    我有一个文本集合 其中的句子要么完全是英语 印地语或马拉地语 每个句子附加的 id 为 0 1 2 分别代表文本的语言 无论任何语言的文本都可能有 HTML 标签 标点符号等 我可以使用下面的代码清理英语句子 import HTMLPars
  • 从 Spark 数据帧中过滤大量 ID

    我有一个大型数据框 其格式类似于 ID Cat date 12 A 201602 14 B 201601 19 A 201608 12 F 201605 11 G 201603 我需要根据大约 500 万个 Is 的列表来过滤行 最直接的方
  • Python 可选参数对

    我正在使用argparse模块获取两个可选的命令行参数 parser add argument start date nargs metavar START DATE help start date in YYYY MM DD parser
  • telethon 库:如何通过电话号码添加用户

    我正在研究 Telegram 的 Telethon 库 它可以使用 Telegram API 充当 Telegram 客户端 重要提示 这是电报客户端 API https core telegram org telegram api 而不是
  • Python Tkinter 网格复选框

    我想知道是否有一种简单的方法可以使用 Tkinter 创建复选框网格 我正在尝试制作一个由 10 行和 10 列 即 100 个复选框 组成的网格 以便每行只能选择两个复选框 编辑 我正在使用带有spyder的python 2 7 到目前为
  • 使用 Python 导入包含文本和数字数据的文件

    I have a txt file which has text data and numerical data The first two rows of the file have essential information in te
  • 获取 python 模块的 2 个独立实例

    我正在与以非 OO 方式编写的 python 2 x API 进行交互 它使用模块全局范围来处理一些内部状态驱动的东西 在它不再是单例的情况下需要它 并且修改原始代码 不是我们的 不是一个选择 如果不使用单独解释器的子进程运行 有什么方法可
  • Django:显示管理员验证错误的自定义错误消息

    我正在使用 Django 1 2 4 我有一个模型 其中有一个需要验证的字段 当验证失败时 我想向用户显示自定义错误消息 模型编辑是在管理界面中完成的 这就是我目前正在做的事情 def clean fields self exclude N
  • 列表中的“u”是什么意思?

    这是我第一次遇到这种情况 刚刚打印了一个列表 每个元素似乎都有一个u在它前面 即 u hello u hi u hey 它是什么意思 为什么列表的每个元素前面都会有这个 由于我不知道这种情况有多常见 如果您想了解我是如何遇到它的 我会很乐意
  • 给定一个字符串,如何删除所有重复的连续字母?

    如何从字符串中删除两个连续的字母 例如 a str hii thherre 应该成为 hi there 我尝试这样做 a str join sorted set a str key a str index 但是 我得到 hi ter 是的
  • Matplotlib:检查空图

    我有一个循环加载并绘制一些数据 如下所示 import os import numpy as np import matplotlib pyplot as plt for filename in filenames plt figure i
  • 使用 python/scipy 进行 voronoi 和 lloyd 松弛

    如何使用 Qhull 确定哪些 voronoi 单元 按索引 是 正确的 由 现有顶点 组成 我正在尝试使用 LLoyds 算法和 scipy spatial Voronoi 它是 Qhull 的包装器 生成的输入来执行约束松弛 就代码而言

随机推荐

  • linux下libxml库的安装及编译

    linux下libxml库的安装及编译 1 下载和安装LIBXML2 Libxml2是个C语言的XML程式库 能简单方便的提供对XML文件的各种操作 并且支持XPATH查询 及部分的支持XSLT转换等功能 Libxml2的下载地址是 htt
  • Mysql8.0出现this is incompatible with sql_mode=only_full_group_by

    MySQL的sql mode模式说明及设置 sql mode是个很容易被忽视的变量 默认值是空值 在这种设置下是可以允许一些非法操作的 比如允许一些非法数据的插入 在生产环境必须将这个值设置为严格模式 所以开发 测试环境的数据库也必须要设置
  • phabricator mysql_搭建 Phabricator 我遇到的那些坑 - 简书

    一 可能会用到的命令 1 重启phd守护线程 先进入到Fabricator文件夹下面 然后 bin phd log 2 删除一个代码仓库 bin remove destroy rMOBILE 代码库的前缀名字 3 重启mysql数据库 su
  • 数据结构:力扣OJ题

    目录 编辑题一 链表分割 思路一 题二 相交链表 思路一 题三 环形链表 思路一 题四 链表的回文结构 思路一 链表反转 查找中间节点 本人实力有限可能对一些地方解释的不够清晰 可以自己尝试读代码 望海涵 题一 链表分割 现有一链表的头指针
  • Java8 新特性 之 lambda 表达 和 函数式接口

    lambda 表达式 概念 lambda 表达式是一个匿名函数 可以把 lambda 表达式理解为是一段可以传递的代码 更简洁 更灵活 使 Java 的语言表达能力得到了提升 lambda 表达式是作为接口的实现类的对象 万事万物皆对象 使
  • Java取模运算中余数的符号选择问题

    Java取模运算中 余数 的符号和 被除数 符号相同 除号前面的数 即与第一个数的符号相同 public class MyTestProgram public static void main String args 被除数 除数 商 被除
  • idea连接mysql注册登录_idea配置连接数据库的超详细步骤

    学习时 使用IDEA的时候 需要连接Database 连接时遇到了一些小问题 下面记录一下操作流程以及遇到的问题的解决方法 一 连接操作 简介 介绍如何创建连接 具体连接某个数据库的操作流程 1 1 创建连接 打开idea 点击右侧的 Da
  • 并行程序设计作业7/7

    目录 两个线程 一个生产者一个消费者 2k个线程 奇数消费者偶数生产者 2k个线程 每个既可以是生产者又可以是消费者 两个线程 一个生产者一个消费者 include
  • cmake policy

    1 cmake policy是什么 cmake policy可以理解为cmake的语法标准 也就是说 它规定了cmake在解析CMakeLists txt文件时的行为 2 cmake policy的用途是什么 cmake在进化的过程中 需要
  • CAN分析仪 USBCAN USB转CAN CAN转换调试器接口卡使用指导

    USBCAN系列便携式CAN分析仪 通过USB接口快速扩展一路CAN通道 使接入CAN网络非常容易 它具有一体式和小巧紧凑的外形 特别适合于随身携带 第一步 将usbcan卡连接电脑如图 usb灯亮红灯 打开 USBCAN系列便携式CAN总
  • 编程之美2015初赛第二场AB

    题目1 扑克牌 时间限制 2000ms 单点时限 1000ms 内存限制 256MB 描述 一副不含王的扑克牌由52张牌组成 由红桃 黑桃 梅花 方块4组牌组成 每组13张不同的面值 现在给定52张牌中的若干张 请计算将它们排成一列 相邻的
  • 2023.02

    2023 02 01 将mpu写到dxReagion中的数据打印到文件中 调试解决mpu2ipu和ipu2mpu同时跑线程未关掉导致的异常 2023 02 02 学习2102 spec文档和mpu设计文档 将mpuipu测试用例加到回归测试
  • SpringMVC访问静态资源问题

    搭建Spring MVC环境时 如果在Spring MVC的配置文件中DispatcherServlet拦截 则会对 html js jpg等静态文件的访问也会被拦截 想要访问这些静态资源必须要进行相应的配置这里推荐两中比较简单的方法 1
  • 【无监督学习】1、MOCOv1

    文章目录 一 背景 二 方法 2 1 对比学习 字典查表 2 2 动量对比函数 2 3 Pretext Task 三 效果 3 1 数据集 3 2 训练细节 3 3 实验 四 代码 论文 Momentum Contrast for Unsu
  • python中int什么意思_python 的 int() 函数是什么,怎么用

    int 函数是python的一个内置函数 用于把一个字符串或者数字转换为 整型 下面来具体看一下 工具 原料 IDLE 电脑 方法 步骤 1 int 的常用语法 int 字符串或者数字 进制数 进制数默认为十进制 如果int 中没有参数 返
  • PDF学习十:图形状态

    说明 一个PDF应用程序 Foxit Reader或Adobe Reader 维护内部数据结构称为图形状态 它保存了当前图形控制参数 这些参数定义在全局框架 在全局框架内可执行图形操作符 例如 f 填充 操作符隐式调用当前颜色这个参数 S
  • Python爬虫学习汇总(持续更新)

    最近在研究爬虫 我把和爬虫相关的内容都总结到这了 这持续更新 1 使用Python爬取妹子网的图片 批量下载 附带源码 超详细 2 爬虫实例源码下载 修改目录直接能运行 3 Python爬虫之xpath的基本使用 解析HTML详细介绍 4
  • CentOS7 最小化安装后的必备操作

    来源于 https blog csdn net f srion article details 54910943 在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能 我们需要最小化安装 而最小化安装后与centos6的版本是有
  • 魔百盒 修改时间服务器,魔百盒网关服务器下发超时

    魔百盒网关服务器下发超时 内容精选 换一换 第三方应用在物联网平台订阅了设备服务信息变化通知后 订阅的通知类型为serviceInfoChanged 当平台向设备下发命令修改设备服务信息时 平台会向第三方应用推送通知消息 支持物联网平台向订
  • python的内置容器(list、set、tuple、dict)概念、使用及遍历方法

    容器概念 线性表 有序的容器结构 数组 array 是由连续的内存空间组成 栈 stack 先进后出 后进先出 队列 queue 先进先出 后进后出 链表 list 是由不连续的内存空间组了逻辑结构 单向链表 内存小 效率低 双向列表 内存