list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。

1.内置数据类型,列表List

>>> appleVersion = ['apple1','apple2','apple3']

>>> appleVersion

['apple1', 'apple2', 'apple3']

>>> len(appleVersion)

3

>>> appleVersion[0]

'apple1'

>>> appleVersion[1]

'apple2'

>>> appleVersion[2]

'apple3'

>>> appleVersion[3]

Traceback (most recent call last):

File "", line 1, in

IndexError: list index out of rang

倒序打印

>>> appleVersion[-1]

'apple3'

>>> appleVersion[-2]

'apple2'

>>> appleVersion[-3]

'apple1'

>>> appleVersion[-4]

Traceback (most recent call last):

File "", line 1, in

IndexError: list index out of range

新增

>>> appleVersion.append('orange')

>>> appleVersion

['apple1', 'apple2', 'apple3', 'orange']

插入

>>> appleVersion.insert(1,'banana')

>>> appleVersion

['apple1', 'banana', 'apple2', 'apple3', 'orange']

删除末尾/删除索引i

>>> appleVersion.pop()

'orange'

>>> appleVersion

['apple1', 'banana', 'apple2', 'apple3']

>>> appleVersion.pop(1)

'banana'

>>> appleVersion

['apple1', 'apple2', 'apple3']

赋值替换

>>> appleVersion[1]='orange'

>>> appleVersion

['apple1', 'orange', 'apple3']

List嵌套

>>> orange=['orange1','orange2']

>>> apple=['apple1',123,orange,True]

>>> apple

['apple1', 123, ['orange1', 'orange2'], True]

>>> len(apple)

4

2. tuple和list非常类似,但是tuple一旦初始化就不能修改,不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

tuple的陷阱:

当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来

>>> lemon=('lemon1','lemon2','lemon3')

>>> lemon

('lemon1', 'lemon2', 'lemon3')

>>> lemon1=()

>>> lemon1

()

数字1

>>> lemon2=(1)

>>> lemon2

1

一个原素

>>> lemon3=(1,)

>>> lemon3

(1,)

>>> lemon4=('a','b',['A','B'])

>>> lemon4[2][0]='X'

>>> lemon4[2][1]='Y'

>>> lemon4

('a', 'b', ['X', 'Y'])

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple,那就必须保证tuple的每一个元素本身也不能变

python list tuple 消耗_Python list 和 tuple 使用小记相关推荐

  1. python list tuple 消耗_Python的List与Tuple

    List(列表) List(列表) 是 Python 中使用最频繁的数据类型. 列表可以完成大多数集合类的数据结构实现.列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套). 列 ...

  2. python list tuple 消耗_Python内存消耗:dict VS元组列表

    在这种情况下,你实际上得到了一个不完整的内存使用图片.字典的总大小以不规则的间隔增加一倍以上,如果在字典大小增加后比较这两个结构的大小,它会再次变大.一个带有递归大小函数的简单脚本(见下面的代码)显示 ...

  3. python list tuple区别_Python list、tuple、dict区别

    Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系. 每一个元素都是一个 key-value 对, 整个元素集合用大括号括起来 您可以通过 key 来引用其值 ...

  4. python框架优化方法_Python 遗传算法框架 GAFT 优化小记

    正文 对GAFT进行性能分析(Profiling) 关于如何对Python程序进行性能分析生成分析报告并可视化分析报告,我在之前的一篇博客里<Python优化第一步: 性能分析实践>进行了 ...

  5. tuple在python中什么意思_python tuple什么意思

    python tuple什么意思? python tuple即元组,tuple()函数将列表转换为元组. tuple()方法语法:tuple( seq ) 参数 seq -- 要转换为元组的序列. 返 ...

  6. pythontuple数据类型_Python数据类型之Tuple元组实例详解

    本文实例讲述了Python数据类型之Tuple元组.分享给大家供大家参考,具体如下: tuple元组 1.概述 本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用()表示. 特点:一 ...

  7. python数据类型——字典表dictionary和元组tuple基本操作举例

    python数据类型--字典表dict和元组tuple基本操作举例 * 字典表dict 1. 字典表dict的声明 * --------- ① 花括号{} 声明法 * --------- ② dict ...

  8. Python标准库:内置函数tuple([iterable])

    本函数实现从可迭代对象生成一个元组对象返回.元组对象是一个不可改动的列表对象. 样例: #tuple()print(tuple([1, 2, 3])) print(tuple((1, 2, 3))) ...

  9. Python数据容器、list列表、tuple元组、str字符串、数据容器(序列)切片、set集合、dict字典、字符串大小比较

    数据来源 01 数据容器 为什么学习数据容器 数据容器 总结 02 列表 1)列表定义 为什么需要列表 列表的定义语法 列表的定义方式 演示 """ 演示数据容器之:li ...

最新文章

  1. 小米手机无法连接eclipse调试案例
  2. 机器学习的数据类型有哪几种?每种数据类型对应的操作有哪些?为什么?
  3. 《男人这东西》—— 读后总结
  4. 记WinCE下调试SIM900 GSM module
  5. XML中需要转义的字符
  6. oracle 10g/11g 命令对照,日志文件夹对照
  7. 干货|对某杀猪盘的渗透测试
  8. java excel表格数据导入
  9. 炁体源流 鸿蒙,一人之下:八绝技中最强被曝光,没想到炁体源流落榜,第一在后头...
  10. 通常情况下登录linux桌面环境需要,在通常情况下,登录Linux桌面环境,需要。...
  11. 什么,双非学渣唯一的出路是打比赛?
  12. 实验13——结构体、文件的基本应用
  13. 小型超市网上购物系统开发项目总结
  14. (附源码)基于Java SpringBoot的电影院管理系统设计与实现 毕业设计 011633
  15. uniapp 微信支付功能
  16. java 微服务 dubbo_Dubbo Spring Cloud 重塑微服务治理
  17. 什么是深度学习? 模仿人脑的算法
  18. android kodi 启动器,kodi安卓
  19. bugku convert [MISC]
  20. FPGA未来硬件架构探讨-NoC

热门文章

  1. NeurIPS 2021揭榜,接收率创九年新高,中了吗中了吗?
  2. 华为上半年手机销量_2020年上半年华为发布的新手机盘点
  3. python特性 property_python特性property
  4. 关于TikTok的变现思考和三种玩法
  5. Leetcode每日一题:416.partition-equal-subset-sum(分割等和子集)
  6. Java基础(三)——反射、代理
  7. 解决 ‘Response‘ object has no attribute ‘body‘
  8. oracle undo数据文件坏,oracle undo数据文件损坏故障处理案例
  9. JavaScript 插入元素到数组的方法汇总
  10. Linux下Git免输密码解决方式