python列表和元组

1、列表
列表是Python中内置的有序可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号隔开,列表中元素的类型可以相同也可以不同。

(1)列表的创建
创建列表的两种方式:
直接通过一对中括号创建列表对象;
使用list()函数将元组、range对象、字符串或其他类型的可迭代对象转换为列表;

(2)列表元素的索引
列表创建完成后,主要是通过列表名[索引]来访问元素,Python中的索引支持两个方向:
从左到右从0开始不断增大;
从右向左从-1开始不断减小;
因此访问列表中的某一元素,通常有两种方式,例如 a_list = [1, 3, 5, 7, 9],a_list[2]和a_list[-3]表示的都是同一个元素5。

(3)列表的切片操作
如果想同时访问多个元素,可以使用Python中的切片操作
语法形式为:列表对象 [start : end : step]
start表示起始位置的索引,end表示结束位置的索引,但不包含结束位置,step表示步长,默认为1。start和end中间的冒号不可省略,其他部分都可省略。

由于Python中支持两个方向的索引,所以start和end既可以是正数,也可以是负数,但一定要在规定的范围内,否则会报错。执行切片操作时,不管索引是正数还是负数,首先找到该索引对应的元素,找到起始元素和结束元素后,再根据步长来确定访问规则,这里的步长,也支持正数和负数,表示不同的方向。如果按照指定的方向,无法从起始元素到达结束元素,此时结果为空列表。例如:a_list = list(range(1, 10))。


(4)列表内容的修改
列表是一种可变序列,允许对其中的元素进行修改,分为三种情况:
修改单个元素(对新的值没有特殊要求);
修改连续的多个元素(要求新的值必须是可迭代对象);
修改不连续的多个元素(要求新的值必须是可迭代对象,且可迭代对象中元素个数和之前的元素个数相同)

(5)列表的常见方法

2、元组
元组是Python中内置的有序不可变序列,元组的所有元素放在一对圆括号“()”中,并使用逗号隔开,元组中元素的类型可以相同也可以不同。
(1)元组的创建
创建元组的两种方式:
直接通过一对圆括号创建元组对象;
使用tuple()函数将列表、range对象、字符串或其他类型的可迭代对象转换为元组;

注意:当元组中只包含一个元素时,元素后面的逗号不能省略,否则系统会将其看做是其他数据类型。例如包含一个整数5的元组应写成 a_tuple = (5,) 而不能写成a_tuple = (5)(此时a_tuple是整型)。

元组和列表的联系与区别
元组和列表之间存在很多关联,例如都可以存放多个数据,里面的数据都是有序的,支持索引、切片操作,都能使用系统中提供的一些内置函数如求最大值、最小值、求和、求长度等。
二者之间可以通过相应的函数进行转化,二者最大的不同在于元组中的元素不能修改,因此元组不支持修改、插入、附加等操作,所有对元组有变化的操作都是生成一个新的元组,例如两个元组之间相加、元组乘以整数等。
可以说,所有能用到元组的地方,都可以使用列表。那为什么还需要元组呢?元组操作速度比列表更快,元组的安全性更高,可以有效避免对一些不可变的内容进行修改。

总结:

1、相同点:
列表和元组是Python中最常用的两种数据结构,字典是第三种。

列表与元组都是容器,都能存储任何数据类型;

列表与元组的数据可以进行互相转化

可以通过索引访问

list和tuple都支持负索引

list和tuple都支持切片操作

list和tuple都可以随意嵌套

2、不同点:
列表属于动态数据,不可变但可以对元素进行增、删、改来改变元素的长度。

元组属于静态数据,不可变类型。

元组被定义不允许修改。

列表定义后用户可以使用for或者while对列表中的数据进行遍历,能对列表中的元素进行增、删、改。

一般用于存储同一类型同语义的数据的集合。

列表与元组保存数据的格式不同,列表使用[]括号存储数据,元组使用()存储数据。

列表和元组查询速度,元组优于列表,安全性元组比列表安全性高

https://zhuanlan.zhihu.com/p/368121634

python列表和元组相关推荐

  1. 十二、深入Python列表和元组

    @Author :Runsen 上面四篇文章总结了Python的基础. 在Pthon中数据结构是非常重要的,所以下面将深入Pyhon数据结构 Python列表和元组总结 文章目录 什么是列表和元组 列 ...

  2. python两个元组相加_《第5章 Python 列表与元组》5.1.3 序列相加(Adding)!

    <高中信息技术 Python编程> 教学案<第5章 Python 列表与元组> 5.1.3 序列相加(Adding)! 06:15 1 #使用加号可以进行序列的连接操作,输入如 ...

  3. python 列表、元组、集合、字典、循环遍历数据结构

    python 列表.元组.集合.字典.数据结构的循环(整理自python文档) 列表-list-用方括号标注,逗号分隔的一组值 list 的 方法 对list添加.插入.删除.查找.排列.翻转 lis ...

  4. 任意长度的python列表最后一个元素索引_任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 ________ 。_学小易找答案...

    [填空题]已知 x = [3, 5, 7] ,那么表达式 x[10:] 的值为 ____________ . [填空题]表达式 [x for x in [1,2,3,4,5] if x<3] 的 ...

  5. 任意长度的python列表最后一个元素索引_任意长度的Python列表、元组和字符串中最后一个元素的下标为...

    [填空题]Python内置函数__用来返回序列中的最小元素 [填空题]表达式 list(range(5)) 的值为 [填空题]表达式 int(4**0.5) 的值为 [填空题]表达式 3 or 5 的 ...

  6. 任意长度的python列表_任意长度的Python列表、元组和字符串中最后一个元素的索引为...

    任意长度的Python列表.元组和字符串中最后一个元素的索引为 答:-1 什么是软件工程? 答:百度定义:软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言 ...

  7. Python列表和元组的详细区别

    文章目录 Python列表和元组的详细区别 一.列表和元组的区别 二.列表(List) 三.元组(Tuple) Python列表和元组的详细区别 一.列表和元组的区别 列表是动态数组,它们可变且可以重 ...

  8. python列表与元组和java_Python列表和元组的相同点和不同点是什么

    相同点:属于有序序列.可以强制转换.使用len()统计元素个数.使用count()统计指定元素的出现次数.不同点:1.元组类型为tuple,列表类型为list:2.元组不能修改,列表可以根据索引来修改 ...

  9. c 提取引号中间的字符串_Python | 一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...

最新文章

  1. openwrt配置内核驱动_openwrt增加内核模块的方法
  2. sql 按字段指定值排序
  3. 《商务旅行》解题报告
  4. Buffer Status Report(BSR)
  5. RocketMQ-初体验RocketMQ(01)_RocketMQ初体验
  6. angr学习笔记(8)(文件内容符号化)
  7. Spring里Bean类的运行时小写之谜
  8. linux服务器内存、根目录使用率、某进程的监控告警脚本
  9. 分享一个CSS3和jQuery实现的模糊显示效果 - 帮助你的访问用户更好的阅读内容
  10. matlab 里catmull rom,Unity中的曲线插值CatmullRom
  11. 信息学奥赛一本通 1038:苹果和虫子 | OpenJudge NOI 1.3 15 | OpenJudge NOI 1.4 21
  12. Python学习笔记——控制语句
  13. 2021-06-14 七大参数,四种拒绝策略
  14. 游戏找不到DirectX的解决方法
  15. 微信驾校服务平台功能开发
  16. Html5微信小游戏怎么运行,怎么用pixi.js开发微信小游戏
  17. 成为合格的芯片前端设计工程师/芯片架构师
  18. Deepin15.3 安装firefox flash插件
  19. 熊猫教你路由器和三层交换机的区别
  20. Python爬虫入门教程 98-100 帮粉丝写 Python 爬虫之【2020秋季最难的事--约不上的疫苗】

热门文章

  1. java中弹框命令_JAVA提权执行Windows指令
  2. 背水一战 Windows 10 (81) - 全球化
  3. 背水一战 Windows 10 (38) - 控件(布局类): Panel, Canvas, RelativePanel, StackPanel, Grid
  4. MD5散列算法原理及实现
  5. 如何提升代驾品牌知名度
  6. 需要了解的Smbios知识
  7. 2022年熔化焊接与热切割培训试题及模拟考试
  8. php globals httprawpostdata,解决$GLOBALS[HTTP_RAW_POST_DATA]获取不到数据的问题
  9. 32.java_注解(Annotation)
  10. 使用Go语言处理xml文件