列表

列表里可以存储任意的数据类型、可修改的结构,用[ ]括起来表示或用函数list()构建。

eg: y = [1,1.5,'hello',True]

列表还可以嵌套列表

eg: y = [1,1.5,'hello',True,["wo","heng","shuai"]]

访问元素:索引从0开始

 y = [1,1.5,'hello',True,["wo","heng","shuai"]]
y[1]
1.5
 y[4][1]
'heng'
 y[1:3]#前闭后开
[1.5, 'hello']
y[::2]#第二个冒号后表示步长
[1, 'hello', ['wo', 'heng', 'shuai']]

表的修改、添加和删除
a=[1,1,3,45,6]
b=[5,6,7]
a[3]=4

添加

 a.append(8)#在表的末尾添加
a
[1, 1, 3, 4, 6, 8, 8]
 a.extend(b)#添加列表时可拆分添加
a
[1, 1, 3, 4, 6, 8, 8, 5, 6, 7]
 a.insert(7,"y")#指定添加元素的位置
a
[1, 1, 3, 4, 6, 8, 8, 'y', 5, 6, 7]
删除
 a.remove("y")#删除第一个指定值
a

[1, 1, 3, 4, 6, 8, 8, 5, 6, 7]
 del a[1]#基于位置删除
a
[1, 3, 4, 6, 8, 8, 5, 6, 7]
 a.pop(1)#基于位置弹出并显示删除值
a
[1, 4, 6, 8, 8, 5, 6, 7]
排序:x.sort()修改原数据,sorted(x)不修改原结构
 a.sort()
a

1, 5, 6, 6, 7, 8, 8]
 c=(2,3,1,4,6)
sorted(c)
[1, 2, 3, 4, 6]
c
(2, 3, 1, 4, 6)

反转
 a.reverse()
a
[8, 8, 7, 6, 6, 5, 1]
a[::-1]
[1, 5, 6, 6, 7, 8, 8]

元组
元组的用法和列表几乎一致,最大的区别是元组不可更改。
元组用tuple或者()表示
 

字典

字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。
字典用{ }或者用dict()函数创建
scores = {'语文': 109, '数学': 110, '英语': 123}
dict1=dict(身高=179,体重=120,年龄=22)#字符串不需用引号
 
字典的基本用法:key 是字典的关键数据,因此程序对字典的操作都是基于key的
 
•访问字典中的值
 dict1["身高"]

179

但常用get()方法获取,因为用此方法当访问的key不存在时不会报错

 dict1.get("身高")

179

•键值对的添加删除

添加

 dict1["学历"]="本科"
dict1
{'身高': 179, '体重': 120, '年龄': 22, '学历': '本科'}

删除
 del dict1["学历"]
dict1
{'身高': 179, '体重': 120, '年龄': 22}
 dict1.pop("年龄")
dict1
{'身高': 179, '体重': 120}
修改
 dict1["身高"]=180
dict1
{'身高': 180, '体重': 120}

字典常用的方法
 dir(dict)['__class__','__contains__','__delattr__','__delitem__','__dir__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__gt__','__hash__','__init__','__init_subclass__','__iter__','__le__','__len__','__lt__','__ne__','__new__', '__reduce__','__reduce_ex__','__repr__','__setattr__','__setitem__','__sizeof__','__str__','__subclasshook__','clear','copy','fromkeys','get','items','keys','pop','popitem','setdefault','update','values']
 

clear() 用于清空字典中所有的 key-value 对

get() 方法其实就是根据 key 来获取 value

tems()、keys()、values()

items()、keys()、values() 分别用于获取字典中的所有 key-value 对、所有 key、所有 value。

 for k,v in dict1.items():
print(k)
print(v)
身高
185
体重
120
 for k in dict1.keys():
print(k)
身高
体重
 for v in dict1.values():
print(v)
185
120

update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖

dict1.update(身高=185)
dict1
{'身高': 185, '体重': 120}
 

set

set的元素是唯一且无序的(可认为是KEY的集合),所以可以用来去重,如list(set(list)),因为set 内容元素是可哈希的,所以对set内容只能增删,不能直接修改。

 a=set([2,1,2,3,5,4,3,4,5])
a
b=set([1,2,6,7,8])
b
{1, 2, 3, 4, 5}
{1, 2, 6, 7, 8}

但因为setde 特性,set可以求差集、并集、反交集、子集和超集等
 a|b#并
{1, 2, 3, 4, 5, 6, 7, 8}
 a&b#交
{1, 2}
 
 
 


 

Python之数据结构:列表、元组、字典、set的更多相关文章

  1. Python初学笔记列表&元组&字典

    一.从键盘获取 1 print("请输入") 2 username = input("姓名:") 3 age = input("年龄:") ...

  2. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  3. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  4. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  5. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  6. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  7. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  8. python字符串、列表和字典的说明

    python字符串.列表和字典的说明 字符串.列表.字典 字符串的作用存储一段数据信息.例如 info = '我爱北京天安门' ,在调取的时候可以直接调取,灵活方便,print(info) 就可以把刚 ...

  9. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  10. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

随机推荐

  1. python冷知识(续)

    python 冷知识 1.交互式中修改最大递归深度 大家都知道使用递归是有风险的,递归深度过深容易导致堆栈的溢出. 那到底,默认递归次数限制是多少呢? 可以使用sys这个库来查看 >>&g ...

  2. 06 . Kubernetes之Pod控制器详细介绍及应用

    Pod API属性详解 Pod是k8s集群中的最小编排单位.将这个设计落实到API对象上,容器就成了Pod属性里一个普通的字段.那么到底哪些属性属于Pod对象,哪些属性属于容器的呢?先看下面的一段描述 ...

  3. PHPstorm常用快捷键(Windows)

    本文整理本人在日常工作中使用最频繁的PHPstorm快捷键,以作为自己的总结备忘,也希望能够帮到有需要的小伙伴. 以下快捷键大致按本人的使用频率从高到低来介绍. 1.复制.粘贴 Ctrl+c .Ctr ...

  4. HotSpot二分模型(1)

    HotSpot采用了OOP-Klass模型来描述Java类和对象.OOP(Ordinary Object Pointer)指的是普通对象指针,而Klass用来描述对象的具体类型. 那么为何要设计这样一 ...

  5. 基于ASP.NET core的MVC站点开发笔记 0x01

    基于ASP.NET core的MVC站点开发笔记 0x01 我的环境 OS type:mac Software:vscode Dotnet core version:2.0/3.1 dotnet sd ...

  6. 设置overflow:hiden行内元素会发生偏移的现象

    父级元素包含几个行内元素 <div id="box"> <p> <span>按钮</span> <span>测试文字文字 ...

  7. 【API进阶之路6】一个技术盲点,差点让整个项目翻车

    上次教了实习生一个方案之后,这小子跟运营妹子的关系是越走越近,时不时地撒把狗粮,在我司真正实现了研发运营一家亲~(上回你没看?戳上文剧情回顾:万万没想到,一个技术方案帮实习生追到了运营妹子) 这回想跟 ...

  8. Promise内部实现原理

    promise内部实现原理: function $Promise(fn) { // Promise 的三种状态 this.PENDING = 'pending' this.RESOLVED = 're ...

  9. day56 js收尾,jQuery前戏

    目录 一.原生js事件绑定 1 开关灯案例 2 input框获取焦点,失去焦点案例 3 实现展示当前时间,定时功能 4 省市联动 二.jQuery入门 1 jQuery的两种导入方式 1.1 直接下载 ...

  10. Scala 面向对象(十一):特质(接口) 四

    1 扩展类的特质 特质可以继承类,以用来拓展该类的一些功能 所有混入该特质的类,会自动成为那个特质所继承的超类的子类 如果混入该特质的类,已经继承了另一个类(A类),则要求A类是特质超类的子类,否则就 ...