列表

列表里可以存储任意的数据类型、可修改的结构,用[ ]括起来表示或用函数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. dup与dup2函数

    依赖的头文件 #include <unistd.h> 函数定义 int dup(int oldfd); int dup2(int oldfd, int newfd); 函数作用 dup和d ...

  2. .Net: C#中的委托(Delegate)和事件(Event)

    委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 是太容易了,而没有过去的人每次 ...

  3. GRpc异常处理Filter

    全局错误处理服务端 微软已经实施了Interceptors,它们类似于Filter或Middlewares在ASP.NET MVC的核心或的WebAPI,它们可以用于全局异常处理,日志记录,验证等. ...

  4. 手把手教你部署 Redis Cluster

    环境准备 阿里云申请3台ECS,如下: 序号 内网IP OS A 172.16.190.78 CentOS 7.6 B 172.16.242.36 CentOS 7.6 C 172.16.190.77 ...

  5. 关于WebServices的调用

    1.使用soapui测试接口是否能通    具体操作步骤请查看:https://www.cnblogs.com/BINDAI/p/13201513.html Soapui请求结果集 2.获得soapu ...

  6. 央行数字货币(CBDCs)的互操作性至关重要

    CBDCs(央行数字货币)将在我们的有生之年产生重大的金融转变.然而,除非这些工具吸取了法定货币的教训,否则创新将毫无意义.互操作性一直是影响CBDC采用和功能的最重要障碍之一.因此,各国央行在这一理 ...

  7. 记录一下安装hexo的过程

    记录一下安装hexo的过程 首先你的电脑需要安装node.js和Git 安装好Git之后需要配置本机与Github之间的ssh方便更新同步博客到Github上,在一个地方新建一个文件夹作为我们博客的根 ...

  8. 安装FeedReader添加RSS订阅

    #0x1 FeedReader FeedReader是一款功能齐全,界面优美的GTK+ 3RSS阅读器客户端,用于在线RSS服务. FeedReader目前支持Feedbin,Feedly,Fresh ...

  9. Jetbranis学习资料之全家桶

    相信很多小伙伴,用的代码编辑器很多都是Jetbrains的,但好东西不可能免费的,而且找了很多激活码都是失效总是莫名其妙的就过期了.下面分享一个不错的激活码地址,比其他的应该更加可靠.本人实测目前支持 ...

  10. 安装archlinux

    arch安装步骤 archlinux官方安装wiki 1.分区and格式化分区      (分区用fdisk,格式化分区用mkfs) 2.挂载分区  (mount命令) 3.安装archlinux   ...