python list append tuple_Python之list、tuple、dict、set
参考原文
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相关推荐
- Python数据容器:list + set + tuple + dict + str 简记 黑马课程
# -*- coding:utf8 -*- """ # editor: hjjdreamer # create-time: 2022/11/16-23:08 # Pyth ...
- python中的tuple_Python中的tuple元组详细介绍
Tuple 是不可变 list. 一旦创建了一个 tuple 就不能以任何方式改变它. Tuple 与 list 的相同之处 定义 tuple 与定义 list 的方式相同, 除了整个元素集是用小括号 ...
- Python中的list/tuple/dict/set数据类型详解
Python中的list/tuple/dict/set数据类型详解 Python内部内置了一些数据类型与结构,可以方便在编程时候的使用. list List存储一系列的有序集合,并且元素内容可变(可更 ...
- Python中list,tuple,dict,set的区别和用法
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...
- python list/tuple/dict/set/deque的简单比较、优化和时间复杂度(表格)
文章目录 一.关于增删改查 二.关于时间复杂度 2.1.时间复杂度: 2.2.比较: 2.3.特点: 2.4.优化: 一.关于增删改查 序列 list tuple dict set deque 能否增 ...
- python中的tuple_python 数据类型 - tuple
tuple 元组 今天跟大家分享一下Python里面tuple数据类型的学习 ps:list数据类型,之前是写在了jianshu上,暂时我也还没有搬过来,所以贴上链接吧 概念 tuple,即元组.是P ...
- 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 ...
- python中append函数解析_对python中的pop函数和append函数详解
对python中的pop函数和append函数详解 pop()函数 1.描述 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法 pop()方法语法: list. ...
- python列表拆包_详解python 拆包可迭代数据如tuple, list
详解python 拆包可迭代数据如tuple, list 拆包是指将一个结构中的数据拆分为多个单独变量中. 以元组为例: >>> a = ('windows', 10, 25.1, ...
最新文章
- 【OpenCV】图像/视频相似度测量PSNR( Peak signal-to-noise ratio) and SSIM,视频/图片转换
- Hibernate -- Dao层 -- CURD -- 随记
- win7 右键增加打开 powershell选项
- WinForm Paenl里面添加Form
- 筛选末位数字为1或5_看看广州示范性高中排行榜,怎么填报志愿?如何运用末位考生分数...
- javascript 性能 · 平稳退化、渐进增强
- 红帽高级总监谈 OpenJDK 的未来:Java 的未来从未如此光明
- Java Recruitment(1)
- 北大开源了中文分词工具包,准确度远超Jieba,提供三个预训练模型
- 编程理论 —— 计算图框架
- java页面分页显示代码_通用分页jsp页面显示
- mysql基础-数据库连接、创建、删除、选择等基本操作详解(一)
- numpy.ndarray size changed, may indicate binary incompatibil
- windows环境下,CMD控制台查看进程、结束进程相关命令
- HTTPS 免费证书,免费 ssl 证书,FreeSSL.org 申请多种免费证书
- TI 杯2019年全国大学生电子设计竞赛题
- Inkscape制作logo
- 路由器外接硬盘做nas可行吗?
- Python正则匹配 去除文本中的各类emoji表情符号
- pika详解(五)登录认证及connectionParameters
热门文章
- java响应鼠标滚轮事件_一文读懂鼠标滚轮事件(wheelEvent)
- html网页主题结构,HTML5 基本结构
- 女生做产品经理好吗_请做产品经理,别做功能经理
- hadoop 运行wordcount
- 肝!分享这3个京东实战项目!(知识图谱拿走不谢)
- 亲手完成四大企业实战项目,挑战Python全栈高薪岗位!
- 历害了!教你自己搭建一个私人网盘..
- php留言板实战,PHP留言本,非常适合新手实战操作!
- qt double 相减不为0_Qt音视频开发25-ffmpeg音量设置
- java下载文件跳转页面_java servlet笔记:设置编码集、文件下载和两种服务器跳转-java下载文件...