文章目录

  • 列表 list
    • 操作
      • 基本序列操作
        • 索引(正负)、切片、遍历元素、查找(in或index)
        • 增、删、改
        • 拼接(+)、相乘
        • 排序、反转、比较、复制
      • 特殊操作
        • 构造列表:列表解析+一行代码
  • 元组tuple
    • 操作
      • 基本序列操作
        • 索引(正负)、切片、遍历元素、查找(in)
        • 增、删、改
        • 拼接(+)、相乘
        • 排序、反转、比较、复制
  • list与tuple
    • tuple 与 垃圾回收机制
  • list 方法、内置函数总结

列表 list

操作

基本序列操作

索引(正负)、切片、遍历元素、查找(in或index)

li = [[1, [2, 3], 4], [5, 6], [7]]# 索引(正负)
print(li)         # [[1, [2, 3], 4], [5, 6], [7]]
print(li[0])      # [1, [2, 3], 4]
print(li[-1])     # [7]
print(li[-2])     # [5, 6]
print(li[0][1][1])    # 3# 切片
li = list(range(10))
print(li[0:3])     # 0,1,2
print(li[:3])      # 0,1,2
print(li[1:])      # [1, 2, 3, 4, 5, 6, 7, 8, 9]        从1开始,到最后
print(li[-2:])      # [8, 9]                 从倒数第二个开始
print(li[::2])      # [0, 2, 4, 6, 8]       带步长
print(li[6:2:-1])       # [6, 5, 4, 3]# 遍历
for x in li:print(x)li = ['a', 'b', 'c']
for i, x in enumerate(li):      # 索引, 元素print(i, x)# 查找
li = ['a', 'b', 'c']
x = 'a'
print(x in li)  #True
print(li.index(x))  #0

增、删、改

li = [[1, [2, 3], 4], [5, 6], [7]]# 增
li = [1,[2,3]]
li.append([[4,5],6])           # [1, [2, 3], [[4, 5], 6]]   末尾,作为一个整体添加
li.insert(0, [[8,9],10])       # 任意位置,必须有参数index
li.extend([[4,5],6])           # [1, [2, 3], [4, 5], 6]   末尾,作为元素添加# 删
# del
del li[0]
# pop
x = li.pop()   # 末尾
x = li.pop(0)  # 任意位置
# remove    最慢(匹配值)
li.remove([[8,9],10])
print(li)# 改
li[-1] = 8

拼接(+)、相乘

# 拼接
li1 = [1,2,3]
li2 = [(4,5),[6,7]]
print(li1+li2)     # [1, 2, 3, (4, 5), [6, 7]]
print(li1.extend(li2))  # [1, 2, 3, (4, 5), [6, 7]]# 相乘
print(li1*3)        # [1, 2, 3, 1, 2, 3, 1, 2, 3]
li = [0]*10
print(li)   # [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

排序、反转、比较、复制

Python(二十五):排序、反转

Python(十九):比较、深浅拷贝


特殊操作

构造列表:列表解析+一行代码

# 偶数的平方
li = [x**2 for x in range(10) if x%2==0]
print(li)       # [0, 4, 16, 36, 64]

元组tuple

  • 元组由逗号标识,而不是小括号
sex = ()
sex = (male,)      # 元组创建,当只有一个元素时,必须加逗号

操作

基本序列操作

索引(正负)、切片、遍历元素、查找(in)

同list

增、删、改

元组没有增删改,只能创建新元组:可以先转为list,再增删改,再转为tuple

拼接(+)、相乘

# 拼接
t1 = (1,2,3)
t2 = ('a','b','c')
print(t1+t2)       # (1, 2, 3, 'a', 'b', 'c')# 相乘
print(t1*3)     # [1, 2, 3, 1, 2, 3, 1, 2, 3]

排序、反转、比较、复制

Python(二十五):排序、反转

Python(十九):比较、深浅拷贝


list与tuple

两者都是都是一个可以放置任意数据类型有序集合,元素类型不需要一致。
有序:内部有序,插入顺序与输出一致

列表 元组
性质 长度不固定 长度固定(初始化时),不能增删改
存储与性能 存储略大:存储指针,python会额外分配多一点空间,保证了其操作的高效性(增加 / 删除的时间复杂度均为 O(1))
性能略逊:初始化创建花的时间更多
存储更小:存储空间固定
性能更优
索引
切片
嵌套

tuple 与 垃圾回收机制

对静态数据做一些资源缓存:

  • 对于一些静态变量,比如元组,如果它不被使用并且占用空间不大时,Python 会暂时缓存这部分内存。
  • 下次我们再创建同样大小的元组时,Python 就可以不用再向操作系统发出请求,去寻找内存,而是可以直接分配之前缓存的内存空间

list 方法、内置函数总结

  • 永久性函数:
    x.fun()
    fun(x)
  • 暂时性函数:必须返回赋值才能变为永久性
    x = x.fun()
    x = fun(x)
list的方法 永久
list.append(x)
list.insert(index, x)
x = list.pop(index=-1)
list.remove(x)
内置函数 永久
li = sorted(li) ×
iterator = reversed(li) ,返回迭代器 ×

Python(五):list、tuple相关推荐

  1. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  2. [转载] python中元组(tuple)用法总结

    参考链接: Python | tuple函数 一.tuple也是一个class,是不可变的list类型,不可以增删改. 创建: tup1 = ('physics', 'chemistry', 1997 ...

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

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

  4. python中元组(tuple)用法总结

    一.tuple也是一个class,是不可变的list类型,不可以增删改. 创建: tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, ...

  5. Python之创建tuple

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

  6. Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能

    Python语言学习:基于python五种方法实现使用某函数名[func_01]的字符串格式('func_01')来调用该函数[func_01]执行功能 目录 问题提出 代码五种设计思路 T1方法:e ...

  7. 【Python五篇慢慢弹】数据结构看python

    数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...

  8. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  9. python里面的tuple与list对比

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

  10. Python中的tuple

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

最新文章

  1. cocos2d-js中Hello World代码分析
  2. linux generic什么意思_如何在 Ubuntu Linux 上释放 /boot 分区的空间? | Linux 中国
  3. Laravel大型项目系列教程(三)之发表文章
  4. Ubuntu下C++代码调用可执行文件。
  5. 一次违反常规的Java大厂面试经历,系列教学
  6. 清除Linux终端命令的历史记录
  7. 小学教师计算机国培培训总结,小学教师国培培训心得体会
  8. python3元类简介(metaclass)
  9. MySQL基础(三)表关系及数据的增删改查
  10. 路由访问控制列表的设计
  11. 订单生产计划表范本,生产计划表范本
  12. jQuery 滚动条插件nicescroll 使用方法、常见配置和事件回调使用说明
  13. 计算机视觉论文-2021-06-01
  14. 苹果电脑装系统只有W ndows,苹果MAC电脑双系统教程——MAC安装Windows双系统教程...
  15. php 实现rpc,使用php链接jsonrpc服务
  16. echarts节点折叠实现
  17. 交换机级联后网速在底层交换机变慢的问题
  18. Laravel symlink() has been disabled for security reasons
  19. SMTP, POP3, IMAP,Exchange ActiveSync区别
  20. 微信小程序 初学——【音乐播放器】

热门文章

  1. Kafka设计解析(三):Kafka High Availability (下)
  2. [2077]迷障 sdutOJ
  3. 深入浅出Linux设备驱动编程--引言
  4. 【Linux】04 实验笔记
  5. android WebView加载不出网页里的视频内容出现This request has been blocked; the content must be served over HTTPS.
  6. linux定时删除文件,Linux下定时删除文件
  7. 山东大学往年c语言期末试题及答案,山东大学历年C语言题库.pdf
  8. html页面能直接用vuex吗,vuex(多用于不同页面之间的数据共用和修改)
  9. 如何:使用 DataAnnotations 特性验证模型数据+MetadataType的使用,MVC的Model层数据验证 指定要与数据模型类关联的元数据类
  10. 说说大型高并发高负载网站的系统架构