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 "<stdin>", line 1, in <module>
IndexError: list index out of rang

倒序打印

>>> appleVersion[-1]
'apple3'>>> appleVersion[-2]
'apple2'>>> appleVersion[-3]
'apple1'>>> appleVersion[-4]
Traceback (most recent call last):File "<stdin>", line 1, in <module>
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的每一个元素本身也不能变

转载于:https://www.cnblogs.com/AryaZ/p/6505350.html

Python list 和 tuple 使用小记相关推荐

  1. Python之创建tuple

    Python之创建tuple tuple是另一种有序的列表,中文翻译为" 元组 ".tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了. 同样是表示班里 ...

  2. python里面的tuple与list对比

    python里面的tuple与list对比 tuple 另一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: >> ...

  3. Python中的tuple

    1.空的tuple:     tup1 = (); 2.只含有一个元素的tuple: tup1 = (50,); #注意,必须有,尽管只有一个元素 3Delete Tuple Elements: Re ...

  4. python语句print(tuple(range(2)))_Python语句print(tuple(range(2)),list(range(2)))的运行结果是__________。...

    [单选题]( )是通信网中最早出现的一种交换方式,也是应用最普遍的一种交换方式,主要应用于电话通信网中,完成电话交换. [填空题]离心泵的流量调节实际上是改变泵的____点. [单选题]关于 的导数, ...

  5. 学习Python(5)排序tuple元组dict字典set集合

    目录 学习Python(5)排序&tuple元组&dict字典&set集合 排序 冒泡排序 选择排序 元组 创建元组 元组元素的访问 元组操作 元组功能 二维元组 字典 创建字 ...

  6. python list tuple 消耗_Python list 和 tuple 使用小记

    list和tuple是Python内置的有序集合,一个可变,一个不可变.根据需要来选择使用它们. 1.内置数据类型,列表List >>> appleVersion = ['apple ...

  7. 8. python list 和 tuple

    1.python 是动态语言,list保存值可以是多种 classmates = [1,2,3,lilei] 2. 取值 classmates[0] // first classmates[-1] / ...

  8. python语句print(tuple(range(2)))_Python学习(四)数据结构 —— list tuple range

    序列类型 list   tuple   range list 和 tuple list: 列表,由 [] 标识: 有序:可改变列表元素 tuple: 元组,由 () 标识: 有序:不可改变元组元素(和 ...

  9. python学习-元组tuple(定义、删除、长度、复制、查找、遍历、operator,和列表的区别)

    元组tuple 元组的创建 元组的使用 使用进阶 元组和列表的区别 元组的创建 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组的创建,使用()或在定义变量以后添加一个逗号(,) ...

最新文章

  1. 安卓常用功能——已封装好
  2. 专访微软Greg Yang,构建神经网络的底层语言,探索AI的“万物理论”
  3. leetcode 200 python
  4. python 2.7安装某些包出现错误:libxml/xmlversion.h:没有那个文件或目录
  5. 如何在win10搜索计算机,如何在win10电脑的任务栏搜索框中添加地址?
  6. FPGA与CPLD的区别
  7. LDAP密码认证例子
  8. 【转载】smobiler说明
  9. opencv 求矩阵的逆
  10. 判断手机号码vue_判断手机号运营商
  11. 人们怎么总跟质数过不去?
  12. 模块九:mouse、key、joystick模块
  13. Contour Features 边界特征
  14. leetcode2187. 完成旅途的最少时间(mid)(282)
  15. Linux ubuntu 安装字体
  16. html网站上播放视屏代码
  17. 敷完面膜后要擦水乳吗_敷完面膜后要擦水乳吗
  18. 代码质量管理平台SonarQube安装使用Centos7 三 Maven处理提交至远程仓库
  19. 不用登陆密码也能进路由器,适用于TP、磊科、腾达
  20. java站点挂了_java 输入挂

热门文章

  1. 米聊PK微信:微信是一朵奇葩
  2. WP7 App性能优化(8):检测应用程序性能(Ⅰ)
  3. iamond operator is not supported in -source 1.5
  4. 定位低效SQL与不同的Extra类型(转载)
  5. ValueError: Related model 'users.UserProfile' cannot be resolved
  6. 子线程和主线程的关系
  7. ubuntu18.10无法ping百度
  8. Theory Defect in selecting best pruned tree from CCP with Cross-validation
  9. python中urllib.quote出现KeyError
  10. makefile 基本总结