参考原文

PS:来看看Python中比较特殊的几种数据类型list、tuple、dict、set

list

list(列表)是Python内置的一种数据类型,它是一种有序、可变的集合,可以随时添加和删除其中的元素。

>>> classmates = ['Li', 'Tom', 'Alice']>>>classmates

['Li', 'Tom', 'Alice']

变量classmates就是一个list。关于list的操作如下:

方法

len():获取list元素的个数

>>>len(classmates)3

View Code

通过索引访问

>>>classmates[0]'Li'

>>> classmates[-1]'Alice'

>>> classmates[3]

Traceback (most recent call last):

File"", line 1, in classmates[3]

IndexError: list index out of range

View Code

append:向list末尾追加元素

>>> classmates.append('Adam')>>>classmates

['Li', 'Tom', 'Alice', 'Adam']

View Code

insert:把元素插入到指定的索引

>>> classmates.insert(1,'Jack')>>>classmates

['Li', 'Jack', 'Tom', 'Alice', 'Adam']

View Code

pop():删除末尾的元素

>>>classmates.pop()'Adam

View Code

pop(i):删除指定索引的元素

>>> classmates.pop(1)'Jack'

>>>classmates

['Li', 'Tom', 'Alice']

View Code

tuple

tuple是一种有序、不变的集合,也叫元组,一旦初始化就不能修改。与list相比,就没有append()、insert()这样的方法。

为什么有了list还要tuple?

因为tuple是不变的,所以代码更安全,所以如果能用tuple代替list就尽量用tuple吧。

Notes

不变指的是tuple的每个元素,指向永远不变,指向一个list,就不能改成指向其他对象,但指向的list本身是可以改变的。

>>> t = ('a', 'b', ['A', 'B'])>>> t[2][0] = 'X'

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

>>>t

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

View Code

特殊的tuple元组

#空tuple ()

>>> t =()>>>t

()#一个元素的tuple,必须加','来消除歧义(小括号就可以表示typle又可以表示数学中的小括号)

>>> t = (1,)>>>t

(1,)

View Code

dict

dict全称dictionary,使用键-值(key-value)存储,具有极快的查找速度。用Python写一个dict如下:

>>> d ={'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95

Tips:dict内部存放的顺序和key放入的顺序是没有关系的。

对比于list

dict的特点:1.查找和插入的速度极快,不会随着key的增加而变慢 2.需要占用大量的内存,内存浪费多。

而list恰恰相反:1.查找和插入的时间随着元素的增加而变慢 2.占用空间小,浪费内存少。

小结

所以,dict是用空间来换取时间的一种方法。dict可以用在需要高速查找的地方,在Python代码中几乎无处不在,正确使用dict就变得十分重要,需要牢记的第一条就是dict的key必须是不可变的对象。dict根据key来计算value的存储位置(哈希算法),在Python中,字符串、整数等是不可以变的,而list是可变的,就不能作为key。

set

set和dict类似,也是一组key的集合,但不存储value,set可以看成数学意义上的无序和无重复元素的集合。要创建一个set,需要提供一个list作为输入集合:

>>> s = set([1,2,3])>>>s

{1, 2, 3}

两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1,2,3])>>> s2 = set([2,3,4])>>> s1 &s2

{2, 3}>>> s1 |s2

{1, 2, 3, 4}

View Code

python list append tuple_Python之list、tuple、dict、set相关推荐

  1. Python数据容器:list + set + tuple + dict + str 简记 黑马课程

    # -*- coding:utf8 -*- """ # editor: hjjdreamer # create-time: 2022/11/16-23:08 # Pyth ...

  2. python中的tuple_Python中的tuple元组详细介绍

    Tuple 是不可变 list. 一旦创建了一个 tuple 就不能以任何方式改变它. Tuple 与 list 的相同之处 定义 tuple 与定义 list 的方式相同, 除了整个元素集是用小括号 ...

  3. Python中的list/tuple/dict/set数据类型详解

    Python中的list/tuple/dict/set数据类型详解 Python内部内置了一些数据类型与结构,可以方便在编程时候的使用. list List存储一系列的有序集合,并且元素内容可变(可更 ...

  4. Python中list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...

  5. python list/tuple/dict/set/deque的简单比较、优化和时间复杂度(表格)

    文章目录 一.关于增删改查 二.关于时间复杂度 2.1.时间复杂度: 2.2.比较: 2.3.特点: 2.4.优化: 一.关于增删改查 序列 list tuple dict set deque 能否增 ...

  6. python中的tuple_python 数据类型 - tuple

    tuple 元组 今天跟大家分享一下Python里面tuple数据类型的学习 ps:list数据类型,之前是写在了jianshu上,暂时我也还没有搬过来,所以贴上链接吧 概念 tuple,即元组.是P ...

  7. python学习笔记(二)python基础知识(list,tuple,dict,set)

    1. list\tuple\dict\set d={} l=[] t=() s=set() print(type(l)) print(type(d)) print(type(t)) print(typ ...

  8. python中append函数解析_对python中的pop函数和append函数详解

    对python中的pop函数和append函数详解 pop()函数 1.描述 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法 pop()方法语法: list. ...

  9. python列表拆包_详解python 拆包可迭代数据如tuple, list

    详解python 拆包可迭代数据如tuple, list 拆包是指将一个结构中的数据拆分为多个单独变量中. 以元组为例: >>> a = ('windows', 10, 25.1, ...

最新文章

  1. 【OpenCV】图像/视频相似度测量PSNR( Peak signal-to-noise ratio) and SSIM,视频/图片转换
  2. Hibernate -- Dao层 -- CURD -- 随记
  3. win7 右键增加打开 powershell选项
  4. WinForm Paenl里面添加Form
  5. 筛选末位数字为1或5_看看广州示范性高中排行榜,怎么填报志愿?如何运用末位考生分数...
  6. javascript 性能 · 平稳退化、渐进增强
  7. 红帽高级总监谈 OpenJDK 的未来:Java 的未来从未如此光明
  8. Java Recruitment(1)
  9. 北大开源了中文分词工具包,准确度远超Jieba,提供三个预训练模型
  10. 编程理论 —— 计算图框架
  11. java页面分页显示代码_通用分页jsp页面显示
  12. mysql基础-数据库连接、创建、删除、选择等基本操作详解(一)
  13. numpy.ndarray size changed, may indicate binary incompatibil
  14. windows环境下,CMD控制台查看进程、结束进程相关命令
  15. HTTPS 免费证书,免费 ssl 证书,FreeSSL.org 申请多种免费证书
  16. TI 杯2019年全国大学生电子设计竞赛题
  17. Inkscape制作logo
  18. 路由器外接硬盘做nas可行吗?
  19. Python正则匹配 去除文本中的各类emoji表情符号
  20. pika详解(五)登录认证及connectionParameters

热门文章

  1. java响应鼠标滚轮事件_一文读懂鼠标滚轮事件(wheelEvent)
  2. html网页主题结构,HTML5 基本结构
  3. 女生做产品经理好吗_请做产品经理,别做功能经理
  4. hadoop 运行wordcount
  5. 肝!分享这3个京东实战项目!(知识图谱拿走不谢)
  6. 亲手完成四大企业实战项目,挑战Python全栈高薪岗位!
  7. 历害了!教你自己搭建一个私人网盘..
  8. php留言板实战,PHP留言本,非常适合新手实战操作!
  9. qt double 相减不为0_Qt音视频开发25-ffmpeg音量设置
  10. java下载文件跳转页面_java servlet笔记:设置编码集、文件下载和两种服务器跳转-java下载文件...