元组:(tuple)

2023-11-14

 1 元组:(tuple)
   tuple:()相比较列表list:[]
   元组和列表都是一种有序集合,(0,2,3,5,9),第一个元素即是第一个存入的元素,
   按照存放顺序存储。
   #元组的访问
   #格式:元组名[下标]
   tuple4 = (1,2,3,4,5)
   print(tuple4[0])       #  1
   # 获取最后一个元素
   print(tuple4[-1])      #5
   删除元组
   tuple1 = (1,2,3)
   del tuple1     #会报错因为没有了
  元组的截取
   元组的特点:  1)与列表非常相似
                 2)一旦初始化就不能修改
     3)使用小括号
   index = 空元组
   index = (1,)   注意:创建元组时,如果只有一个元素,元素后面需要带上逗号","
                        如果不加,系统默认为index变量即是元素。
   index = (1,2,3,4)
   index[0] = 5   # 结果会报元组元素值不能修改
   注意:只有元组的元素是非元组类型(列表或字典),即可改变元素(item)内部的值
    tupe(元组)和list(列表)的相互转换:
  l = list("abc")  #["a","b","c"]
  t = tupe(l)  #('a','b','c')
 
        例     练习:输入10个指定函数的解释文本
            # coding:utf-8
      funs_tuple = ('list','tuple','max','len','os','listdir')
      funs_list = []  #存放输入函数的说明(解释)
      for fun_name in funs_tuple:
          info = input('{0}功能:'.format(funs_name))
       funs_list.append(info)
2 集合
   set:无序,无重复
   创建集合:s = set()
             s = set([1,2,3]),l = list('abc'),s = set(l)
    向集合中添加元素: s.add(item)   (item)可以是任意类型    添加元素  除了列表
             s.add([1,2,3])    # error, 列表不能被hash转换,列表是可变的
             s.add((1,2,3))    # ok ,  元组中的元素是不可变的 
    修改和访问集合中(某一)个元素:
             s[0] 注意:集合是不存在下标的
    访问:pop(),  for a in s 来访问某一个元素,在for循环时外加一个if判断
                   pop()   从集合中开始位置弹出元素
 修改:整体修改
          s.update((2,2,4))  # 在原有的内容上,追加不重复内容
    add()只添加一个元素,    update()有可能添加多个元素(重复性)
 删除集合:
         pop()
   remove(元素),如果元素不存在?  则会报错  KeyError(键错误)
   clear()清空所有的元素
   del s
         help('keywords')  在交互环境中查看关键字
    交集(&): 求相同的部分   set1 = set([12,23,78,999])
                         set2 = set([12,45,78,56,85])
       set3 = set1 & set2
       print(set3)
   取两个集合相同部分
 并集(|):合并两个集合
                          set1 = set([12,23,78,999])
                         set2 = set([12,45,78,56,85])
       set3 = set1 | set2
       print(set3)
   取两个所有部分,并去掉重复的
 字典:
     以'{}'包裹元素:
     以 key-value()
   
 集合:{'1','2','3'},  只是key部分
 字典:{'1':'计算三角形面积','2':'圆形面积','3':'矩形面积'}
        例    抽取水果特性,并用字典描述水果的实例
           水果属性:分类cate,品种pz,产地,cd
     字典:{'cate':'苹果','pz':'红富士','cd':'洛川'}
   
 字典的特点:1:字典本身是可变类型
              2:极快的查找速度
     3;key具有唯一性
     4;key具有无序性
     5;key需要不可变数据类型(字符串,数字)
         6;当key重复的时候,只保留一个,自动舍弃其它值
 字典添加属性及属性值(key-value键值对)
         fruit_dict = {}
   fruit_dict['cate'] = ''  #cate作为键key使用,如果不存在,则会添加《
                            #如果存在,则会更改
 删除:
         pop('price')  #将弹出price的key-value键值对
 
 
   1)获取所有key集合
       key()函数
   2)循环读取字典的内容value
     for key in fruit.keys():
      print(key)
   print(fruit.get(key))  #从字典中获取key的value
   print(fruit[key])      #从字典中获取key的value
    3)获取所有的key-value的items,并循环读取
      dels_key = set()
      for item in fruit.items():
    #item:(key,value)
    print(item[0],item[1])
    if item[0]=='cate'
       dels_key.add(item[0])
       fruit.popitem(item) #报错 RuntimeError运行时异常,
    fruit.pop()         # popitem()函数不需要item参数,随机或从末尾开始弹出
  # 在字典的迭代外面去删除
   for del_key in dels_key:
       fruit.pop(del_key)
         
     练习:水果管理小程序,功能:1;查询水果
                                 2;添加水果
            3;变更价格
            4;删除水果
            0;退出
         水果的结构;
                    编号id,果名name,数量 cnt,价格price,销售排行sale_top
                                 
  
            分析:
        每种水果用dict字典来存储
     再把每种水果存入到list列表中
     收集数据时,按照格式来输入:id,name,cnt,price,sale_top
     将输入的内容拆分成list
     将key事先存入到list中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

元组:(tuple) 的相关文章

  • LLVM源码调试

    一 编译LLVM debug版本 调试LLVM代码需要基于debug版本 编译LLVM时 将build type设为Debug即可 cmake DCMAKE BUILD TYPE Debug 二 GDB调试 调试OPT reference
  • Linux下磁盘分区与扩容

    虚拟机增加磁盘进行磁盘分区 查看磁盘情况 root localhost df 查看设备 root localhost ls dev sd 增加磁盘 root localhost ls dev sd 找到对应增加的设备 假设增加的sdb ro
  • 【2】Qt的MainWindow的能看不能吃的框架 以及 添加图片资源

    就是加上菜单栏 窗口 这些东西 而且没做回调函数 没有做button 所以h文件没有改动 mainwindow cpp include mainwindow h include
  • selenium爬取药监总局

    url http 125 35 6 84 81 xk from selenium import webdriver from lxml import etree from time import sleep page text list d
  • python 复杂表达式

    复杂表达式 使用for循环的迭代不仅可以迭代普通的list 还可以迭代dict 假设有如下的dict d Adam 95 Lisa 85 Bart 59 完全可以通过一个复杂的列表生成式把它变成一个 HTML 表格 tds tr td s
  • LeetCode·每日一题·1177. 构建回文串检测·前缀和

    作者 小迅 链接 https leetcode cn problems can make palindrome from substring solutions 2309940 qian zhui he zhu shi chao ji xi
  • Jina Hub:一站式神经搜索系统组件分享平台

    Hub 是 Jina 全家桶中非常重要的一个成员 本期推文我们将详细介绍 Hub 的相关内容 在过往推文中 我们介绍过 高度适配深度学习任务的可扩展数据结构 DocArray 开源神经搜索框架 Jina 神经搜索系统结果调优工具 Finet
  • 嵌入式Web项目(二)——CGI的引入

    文章目录 静态网页工作原理 动态网页工作原理 CGI的概念 CGI工作原理 boa配置静态文件与CGI文件访问路径 静态文件 CGIPath 动态网页 以shell语言 实现动态网页案例 第一次访问测试 第二次测试 C语言测试 静态网页工作
  • C++ 原始指针、shared_ptr、unique_ptr分别在什么场景下使用

    开发中一直萦绕我的一个困惑是 智能指针和原始指针什么场景怎么用 现在终于有了答案 2020 03 22 增加了unique ptr指针的使用 1 智能指针天生负责对象生命期管理 所以生命期对象全都由unique ptr和shared ptr
  • Redis详解

    1 键值数据库的基本架构 不同键值数据库支持的key类型一般差异不大 而value类型则有较大差别 我们在对键值数据库进行选型时 一个重要的考虑因素是它支持的value类型 例如 Memcached支持的value类型仅为String类型
  • C语言小游戏——贪吃蛇

    贪吃蛇 1 游戏界面 2 游戏说明 3 程序源代码 1 游戏界面 2 游戏说明 贪吃蛇游戏按键说明 按方向键上下左右 可以实现蛇移动方向的改变 3 程序源代码 代码如下 示例 include
  • unity 3D RPG高级教程(十四)

    目录 声明 1 QuestGiver 控制任务对话显示 2 GiveRewards 拿到任务奖励 3 SaveQuestManager 保存任务数据 声明 本教程学习均来自U3D中文课堂麦扣老师 1 QuestGiver 控制任务对话显示
  • 层数最深的叶子节点之和

    题目描述 给你一棵二叉树的根节点 root 请你返回 层数最深的叶子节点的和 解题思路 使用深度优先搜索 全局维护两个变量sum 总和 以及maxdeep 最大深度 对于遍历到的节点有三种情况 1 此节点深度不够 不进行操作 遍历它的子节点
  • 浏览器地址栏输入url回车后发生了什么

    面试第一天 面试官问我 浏览器输入url后怎么进行请求的 我一想 诶 回车不就向后台发送请求就行了吗 卒 当按下回车后发生了以下步骤 1 ip地址解析寻址 2 建立tcp连接 三次握手 3 发送一个http请求 4 服务器处理并返回响应请求
  • 机器人操作系统ROS(22)ROS安装opencv

    应该是再安装ROS时 已经默认安装opencv 但是有时候需要的环境不同 下面两种方法 第一种是 再安装一个版本 两个版本共存 第二种是 删除再安装 还有一种是Linux下安装OpenCV4 适用于Ubuntu等 还有一个知乎版本用树莓派4
  • Python——os.mkdir()在指定路径下创建文件夹 + 路径的连接理解

    引子 我在用路径连接函数 os path join 时发现 其连接的各级目录必须首先存在 才可以连接 也即是说连接的各文件夹必须首先存在 因为个各层级的目录以文件夹的形式表现出来 基于此 我开始研究如何先在指定路径下创建文件夹 1 在指定路
  • linux批量替换文件夹中所有文件内容

    记录一下 以防自己忘了 替换单个文件 sed i s 旧字符串 新字符串 g 文件名 替换整行 sed i 旧字符串 c 新字符串 文件名 替换文件夹中所有文件内容 sed i s 旧字符串 新字符串 g grep 旧字符串 rl 目录
  • MIPI协议之CSI2和DPHY

    目录 1 概论 2 CSI2协议 2 1 CSI 2数据帧格式 3 D PHY 3 1 数据通道模块的工作流程图 3 2 数据通道模块状态图 1 概论 MIPI协议 Moblie Industry Process Interface 移动行
  • Android 如何修改按钮默认的讨厌的蓝紫色

    1 在设置好按钮背景时 发现钮颜色始终没有改变 2 原来是默认主题themes的问题 在这里修改主题即可 3 找到 res values themes themes xml 双击打开themes xml文件 4 修改parent内容为 Th
  • Linux编程语言glob函数,linux glob函数man页与实例

    Linux Programmer s Manual NAME glob globfree find pathnames matching a pattern free memory from glob SYNOPSIS include in

随机推荐

  • 如何选择IO调度器

    概述 不格文学网 m vbuge com 由于对multi quque的IO调度算法不太熟悉 为了避免误人子弟 本文暂时只会介绍如何选择single queue的IO调度算法 等将来对multi queue有充分认识后再补充 如果不清楚什么
  • redhat激活管理

    redhat激活管理 redhat激活管理常用命令 查看 激活 删除订阅 刷新 redhat激活管理常用命令 https blog csdn net xixihahalelehehe article details 79108442 查看
  • pyqt5_1 Qt Designer组件讲解

    一 布局 Vertical Layout 纵向布局 Horizontal Layout 横向布局 Grid Layout 栅格布局 QGridLayout 网格布局 是将窗口分割成行和列的网络来进行排列 Form Layout 表单布局 在
  • 关于U盘中“文件夹EXE病毒”的解决方案

    笔者在使用U盘时 无意之间发现U盘所有文件的后缀名均变为 exe 经过查询相关资料 确认这是一种病毒 文件夹EXE病毒 一 简介 木马名称 Worm Win32 AutoRun soq 当把U盘插入到一台电脑后 U盘内生成了以原文件夹名字命
  • Ubuntu 安装 Oracle JDK

    1 写在前面 本文主要介绍如何在Ubuntu系统下安装Oracle JDK 2 环境准备 2 1 下载JDK 2 1 1 浏览器下载安装包 进入虚拟机浏览器访问官网地址 http www oracle com technetwork jav
  • 一分钟带你快速认识S参数

    S 参数是SI与RF领域工程师必备的基础知识 大家很容易从网络或书本上找到S Y Z参数的说明 但即使如此 在相关领域打滚多年的人 仍然可能还是会被一些问题困扰着 你懂S参数吗 不懂的话 那么请继续往下看 S参数简介 S参数 也就是散射参数
  • GitLab的使用 和 Git 、 Github、Gitlab的区别

    一 git github gitlab的区别 百度相关内容得到的理解 二 git最基本作用 版本控制 三 有集成了git的GIT安装包 github和gitlab都使用git该版本控制系统 来实现对代码的管理 所以 原先怎么用git操作gi
  • obs窗口捕获不到ppt白屏_如何用obs进行电脑直播,学会这篇,直播不再难

    很多人想在头条或者西瓜视频直播 除了用手机直播外 还可以用电脑进行直播 只要用obs进行简单设置即可达到要求 可以直播ppt 直播ps等 1 下载并安装好obs软件 点击文件 设置 在设置的窗口中 找到输出 一般输出的设置默认就好 无需更改
  • 微信浮窗是不是服务器保存,微信浮窗,真能解决小程序留存难题吗?

    小程序浮窗 到底有多大能量 作者丨Suvi 上个月 微信更新了7 0 5版本 对浮窗功能做了全新升级 支持最多同时添加5个项目 不含QQ音乐 并首次支持添加小程序 新版浮窗一上线 便被寄予厚望 各方将之解读为挽救公众号阅读量 提高小程序留存
  • 【8】测试用例设计-边界值法

    对于软件来说 错误经常发生在输入或输出值的关键点 边界值分析法是对软件的输入或输出边界进行测试的一种方法 它的所有测试用例都是在等价类的边界处设计 边界值分析需要选择一个或多个元素 以便等价类的每个边界都经过一次测试 与仅仅关注输入条件 输
  • QT+CUDA混合编程BUG(一)

    QT CUDA混合编程BUG 一 在QT中进行CUDA编程 CUDA库与其他外部库冲突 debug失败 问题描述 在QT中进行CUDA编程 单独使用CUDA编程时并未出现难以解决的问题 但当我讲CUDA处理的部分 加入已搭建完毕一项较大的Q
  • LeetCode第 292 题:Nim游戏(C++)

    292 Nim 游戏 力扣 LeetCode 剩下4块的时候 如果轮到你 那么你必输 先简单推一下 如果第n块的时候轮到你 n 5 必胜 拿1块 n 6 必胜 拿2块 n 7 必胜 拿3块 n 8 必败 无论我拿几块 对方都可以将我逼到4的
  • 基于Lasagne实现限制玻尔兹曼机(RBM)

    RBM理论部分大家看懂这个图片就差不多了 Lasagne写代码首先要确定层与层 RBM 正向反向过程可以分别当作一个层 权值矩阵互为转置即可 代码 coding utf 8 data format is bc01 written by Ph
  • 【Shell编程】Shell中Bash变量-用户自定义变量

    目录 系列文章 Bash变量 用户自定义变量 变量的命名规则 变量分类 本地变量 实例 系列文章 Shell编程 Shell基本概述与脚本执行方式 Shell编程 Shell中Bash基本功能 Bash变量 用户自定义变量 变量的命名规则
  • 前端跨域解决方案

    目录 同源政策 跨域 常见的跨域场景 跨域解决方案 1 JSONP跨域 1 原生JS实现 2 jquery Ajax实现 3 Vue axios实现 后端node js代码 2 跨域资源共享 CORS 1 简单请求 2 非简单请求 3 CO
  • 满载大模型技能干货的AI Day活动全新来袭

    AI大模型时代 创造力才是第一生产力 满载大模型技能干货的AI Day主题活动全新来袭 丰富有趣的Workshop即将空降你的学校 帮助大家掌握前沿技能 拓展技术视野 迈进AIGC的大门 打造属于你的AI应用 满足不同阶段的学习实践需求 无
  • AD10软件打不开,停留在开机界面上

    解决办法 把AD10的缓存文件都删掉 C Users Administrator AppData Roaming Altium下的文件都删掉
  • 二分图最大完美匹配

    嗯 想不通 就是二分之后的点 寻找左边的点和右边的点的保证两条边的顶点不相同的最大边数 匈牙利算法 O mn 左边寻找和右边相邻的边 如果右边还没有和左边进行连线 那么匹配成功 如果右边已经进行连线 那么考虑左边是否能更改连线 换一个右边
  • Qt总结——菜单隐藏

    我们在使用QMenu的时候经常会在其中添加子菜单以及action QMenu中的隐藏禁用的操作是针对action的 所以直接操作action是没有问题的可以想要的效果 但是menu不行 因为不是action类型的 QAction actio
  • 元组:(tuple)

    1 元组 tuple tuple 相比较列表list 元组和列表都是一种有序集合 0 2 3 5 9 第一个元素即是第一个存入的元素 按照存放顺序存储 元组的访问 格式 元组名 下标 tuple4 1 2 3 4 5 print tuple