python_列表和元组

news2024/11/18 1:42:16

介绍  

列表(List)和元组(Tuple)是Python中两种不同的数据结构,它们都可以用来存储一系列的元素。下面是它们的主要特点和区别:

列表(List)

  1. 可变性:列表是可变的,这意味着您可以在创建列表后修改其内容。
  2. 定义:使用方括号 [] 来创建,元素之间用逗号分隔。
  3. 示例my_list = [1, 2, 3, 'a', 'b']
  4. 方法:列表有许多可用的方法,如 append()remove()pop()reverse() 等。

 

元组(Tuple)

  1. 不可变性:元组是不可变的,一旦创建,就不能修改其内容。
  2. 定义:使用圆括号 () 来创建,元素之间也用逗号分隔。
  3. 示例my_tuple = (1, 2, 3, 'a', 'b')
  4. 性能:由于元组是不可变的,它们通常比列表更快。
  5. 用作字典键:由于不可变性,元组可以作为字典的键,而列表则不行。

 

# 创建列表和元组
my_list = [1, 2, 3]
my_tuple = (1, 2, 3)

# 列表是可变的
my_list[0] = 0  # 有效
# my_tuple[0] = 0  # 这会引发错误,因为元组是不可变的

# 列表的方法
my_list.append(4)  # 添加元素到列表末尾

# 打印列表和元组
print("列表:", my_list)
print("元组:", my_tuple)

  • 列表和元组

    •  通用序列操作
      • 索引
        • 每个元素都有一个数字下标,代表它在序列中的位置,这个位置就是索引。
          • a="abcd"
          • >>> a[1]
          • 'b'
      • 分片
        • 所谓分片,就是通过冒号相隔的两个索引下标指定索引范围。
          • a="abcd"
          • a[0:3]
          • 'abc'
      • 序列相加
        • 序列支持加法操作,使用加号可以进行序列的连接操作,
          • [1, 2, 3] + [4, 5, 6]
          • [1, 2, 3, 4, 5, 6]
      • 乘法
          • [7] * 10
          • [7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
      • 成员资格
        • 所谓成员资格,是指某个序列是否是另一个序列的子集,该序列是否满足成为另一个序列的成员的资格
        • in运算符用于检验某个条件是否为真,并返回检验结果,检验结果为真,则返回True,为假,则返回False。
          • greeting='hello,world'
          • >>> 'w' in greeting #检测w是否在字符串中
          • True
      • 长度、最小值和最大值
        • 快速获取序列长度、最大值和最小值的内建函数,对应的内建函数分别为len、max和min。
          • a="abcd"
          • len(a)
          • 4
          • >>> max(a)
          • 'd'
          • >>> min(a)
          • 'a'
    • 列表 //可以当作数组使用

      • 创建列表
        • my_list = [1, 2, 3, 4, 5]
      • 赋值
        • >>> ma=[1,2,3,4,4,4]
        • >>> ma[0]=30
        • >>> ma[:]
        • [30, 2, 3, 4, 4, 4]
      • 在末尾添加元素
        • 列表。append(元素)
          • >>> a=[]
          • >>> a.append("a")
          • >>> a[:]
          • ['a']
      • 删除元素
        • >>> a=[1,4,3]
        • >>> a[:]
        • [1, 4, 3]
        • >>> len(a)
        • 3
        • >>> del a[1]
        • >>> len(a)
        • 2
      • 字符串转换成列表
        • list()
          • a=list('ass')
          • >>> a[:]
          • ['a', 's', 's']
      • 嵌套列表
        • eError: name 'a' is not defined
        • >>> a=['a','b']
        • >>> b=[1,2]
        • >>> c=[a,b]
        • >>> c[1]
        • [1, 2]
        • >>> c[1][1]
        • 2
      • 列表的方法
        • 格式
          • 对象.方法(参数)
        • list.append(obj)//列表添加元素
          • list //列表名
          • obj //添加的元素
        • list.extend(sep)//扩展列表
          • sep //列表名
        • list.index(obj)//搜索值,并返回第一的检索到的值的下标
          • obj //要检索的值
        • list.insert(index,obj)//指定位置插入数据
          • index //位置
          • obj //数据
        • list.sort(func) //排序
          • func //可选参数//使用该参数的方法经行排序
          • 实例
        • list.copy()//用与复制列表//类似于 a[ : ]
            • a=b.copy()
        • list.remove(0bj)//移除列表中第一个与obj一样的值
          • obj //要移除的值
        • list.pop(obj=list[-1])//移除指定位置的值,并将值返回
          • obj=list[-1] //列表的下标 //不写为最后一个值得下标
        • list.reverse()//将列表的值翻转
        • list.clear() //清空列表 ==//del a[:]
        • list.count(obj) //统计元素在列表的次数
          • obj //要统计的元素
    • 元组

      • 重点
        • 元组是不可变的,一旦创建,就不能修改其内容。
      • 定义
        • 用一对圆括号括起来,括号中各个值之间通过逗号分隔
      • 创建
      • tuple (obj) //将其他类型转换为元组类型并返回,是元组类型不动并返回
      • 基本操作
        • Python的元组与列表类似,不同之处在于元组的元素不能修改(前面多次提到的字符串也是不能修改的)。
        • 访问数据
          • 直接访问下标
        • 修改数据
          • 虽然不能修改但是可以连接
        • 删除元组
          • 因为元组不能修改,删除也是修改
          • 但是可以将整个元组删除 //del
      • 与列表的区别
        • 是否能修改 //作用 保证了数据的安全

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

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

相关文章

Redis:报错Creating Server TCP listening socket *:6379: bind: No error

错误: window下启动redis服务报错: Creating Server TCP listening socket *:6379: bind: No error 原因: 端口6379已被绑定,应该是因为上次未关闭服务 解决: ①依次输入命令: redis-cli.exe &#xff08…

SpringBoot基于JavaWeb的菜鸟驿站快递管理系统ssm

前端:vue.jsElementUI 编程语言: java 框架: ssm/springboot 详细技术:springboot springbootvueMYSQLMAVEN 数据库: mysql5.7 数据库工具:Navicat/SQLyog都可以 ide工具:IDEA 或者eclipse 对菜鸟驿站快递管理系统设计…

MySql安装(Linux)

一、清除原来的mysql环境 在前期建议使用root用户来进行操作,使用 su -来切换成root用户,但是如果老是提示认证失败,那么有可能我们的root密码并没有被设置, 我们可以先设置root的密码 sudo passwd root 然后就可以切换了。 …

Window中Jenkins部署asp/net core web主要配置

代码如下 D: cd D:\tempjenkins\src\ --git工作目录 dotnet restore -s "https://nuget.cdn.azure.cn/v3/index.json" --nuget dotnet build dotnet publish -c release -o %publishPath% --发布路径

分布式锁实现方案-基于zookeeper的分布式锁实现(原理与代码)

目录 一、基于zookeeper的分布式锁 1.1 基于Zookeeper实现分布式锁的原理 1.1.1 分布式锁特性说明 1.1.1.1 特点分析 1.1.1.2 本质 1.1.2 Zookeeper 分布式锁实现原理 1.1.2.1 Zookeeper临时顺序节点特性 1.1.2.2 Zookeeper满足分布式锁基本要求 1.1.2.3 Watcher机制 …

‘language‘不能作为表名或字段名

今天写一个C#访问Access的程序,拼接SQL语句时一直出错, string sql "insert into dllinfos (dllname,dllfilename,type,functions,harm,repairmethod,issys, paths, ishorse, language, version, company) values (" textBox1.Text ",…

2 逻辑斯蒂回归(分类)

目录 1 理论 逻辑回归假设数据服从伯努利分布(二分类),通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。 逻辑斯蒂回归(Logistic Regression)是一种用于解决分类问题的…

探索C语言数据结构:利用顺序表完成通讯录的实现

在好久之前我就已经学习过顺序表,但是在前几天再次温习顺序表的时候,我惊奇的发现顺序编表可以完成我们日常使用的通讯录的功能,那么今天就来好好通过博客总结一下通讯录如何完成吧。 常常会回顾努力的自己,所以要给自己的努力留…

Games101-光线追踪(辐射度量学、渲染方程与全局光照)

Basic radiometry (辐射度量学) 光的强度假定l为10,但是10是什么。 Whitted-Style中间了很多不同简化,如能看到高光,表示做了布林冯着色,意味着一个光线打进来后会被反射到一定的区域里,而不是沿着完美的镜像方向&…

javaEE初阶——多线程(五)

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享关于多线程的文章第五篇关于 多线程代码案例二 阻塞队列 如果有不足的或者错误的请您指出! 目录 2.阻塞队列2.1常见队列2.2 生产者消费者模型有利于进行解耦合程序进行削峰填谷…

网站空间的类型包括

网站空间的类型包括许多不同的形式,每种形式都具有其独特的特点和用途。从个人博客到企业网站,从电子商务平台到社交网络,各种类型的网站都为用户提供了不同的体验和功能。在本文中,我们将探讨几种常见的网站空间类型,…

MYSQL之增删改查(中)

前言: 以下是MySQL最基本的增删改查语句,很多IT工作者都必须要会的命令,也 是IT行业面试最常考的知识点,由于是入门级基础命令,所有所有操作都建立在单表 上,未涉及多表操作。 4、“查”——之单表查询 My…

Linux的firewalld防火墙

介绍firewalld: ①、firewalld(Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图…

专业清洁工匠服务网站模板 html网站

目录 一.前言 二.页面展示 三.下载链接 一.前言 该HTML代码生成了一个网页,包括以下内容: 头部信息:指定了网页的基本设置和元数据,例如字符编码、视口大小等。CSS文件:引入了多个CSS文件,用于设置网页…

程序员自由创业周记#32:新产品构思

程序员自由创业周记#32:新产品构思 新作品 我时常把自己看做一位木匠,有点手艺,能做一些作品养活自己。而 加一、Island Widgets、Nap 就是我的作品。 接下来在持续维护迭代的同时,要开启下一个作品的创造了。 其实早在2022的1…

【leetcode面试经典150题】64. 删除排序链表中的重复元素 II(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…

C++必修:从C语言到C++的过渡(上)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C学习 贝蒂的主页:Betty’s blog 1. 什么是C C(c plus plus)是一种计算机高级程序设计语言&…

链表经典算法OJ题目

1.单链表相关经典算OJ题目1:移除链表元素 思路一 直接在原链表里删除val元素,然后让val前一个结点和后一个节点连接起来。 这时我们就需要3个指针来遍历链表: pcur —— 判断节点的val值是否于给定删除的val值相等 prev ——保存pcur的前…

【详细讲解下Photoshop】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

OpenHarmony 网络管理-Socket连接

介绍 本示例主要演示了Socket在网络通信方面的应用,展示了Socket在两端设备的连接验证、聊天通信方面的应用。 效果预览 使用说明 1.搭建服务器环境:修改服务器脚本中的服务端IP地址,与本机IP地址保持一致,修改完成后双击运行脚…