Python中列表、字典、元组、集合数据结构整理
作者:shichen2014 发布时间:2022-08-02 05:54:57
标签:Python,列表,字典,元组,集合
本文详细归纳整理了Python中列表、字典、元组、集合数据结构。分享给大家供大家参考。具体分析如下:
列表:
shoplist = ['apple', 'mango', 'carrot', 'banana']
字典:
di = {'a':123,'b':'something'}
集合:
jihe = {'apple','pear','apple'}
元组:
t = 123,456,'hello'
1.列表
空列表:a=[]
函数方法:
a.append(3) >>>[3]
a.extend([3,4,5]) >>>[3,3,4,5] #添加一个列表序列
a.insert(1,'hello') >>>[3,'hello',3,4,5]
a.remove(3) >>>['hello',3,4,5] #删除第一个出现的3,没有3则报错
a.pop() >>>['hello',3,4]
a.pop(0) >>>[3,4]
a.index(4) >>>1 #返回出现的第一个4的下标
a.count(3) >>>1 #列表中元素3的个数
a.sort >>>[3,4] #排序
a.reverse() >>>[4,3] #反序
删除元素的方法:
a.remove(3) #通过值删除元素,删除第一个为参数值得元素
a.pop() #通过下标删除元素,默认删除列表最后一个值,带参数则删除下标为参数值的元素
del a[0] #通过下标删除元素,
del a[2:4] #删除a表下标为2,3的元素
del a[:] #删除a列表所有元素
del a #删除列表
列表推导式:
vec = [2,4,6]
[3*x for x in vec if x<6] >>>[6,12] 3*2,3*4
vec2 = [1,2,3]
[x*y for x in vec for y in vec2] >>>[2,4,6,4,8,12,6,12,18]
嵌套列表推导式:
mat = [
[1,2,3],
[4,5,6],
[7,8,9]
]
print ([[row[i] for row in mat] for i in [0,1,2]])
>>>[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
思考:list (zip(mat)) 和 list (zip(*mat))结果会有什么不同
2.元组
空元组:t = ()
元组赋值: t = (123,345)
t[0] >>>123
3.字典
d = {'Jack':'jack@mail.com','Tom':'Tom@main.com'}
d['Jack'] >>>'jack@mail.com
d['Jim'] = 'Jim@sin.com' >>>{'Jim': 'Jim@sin.com', 'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
del d['Jim'] >>>{'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
list(d.keys()) #将返回一个字典中所有关键字组成的无序列表
sorted(d.keys()) #将返回一个字典中所有关键字组成的排序列表
dict() #构造函数可以直接从key-value对中创建字典
dict([('Tim',123),('Tiny',234)]) >>>{'Tiny': 234, 'Tim': 123}
推导式创建字典:
{d2:d2+'@main.com' for d2 in list(d.keys())}
>>>{'Jack': 'Jack@main.com', 'Tom': 'Tom@main.com'}
练习:循环输出字典中的键值对:
for name,email in d.items():
print(name,email)
4.集合
空集合:A = set() ※想要创建空集合,必须使用set()
演示:
basket = {'apple','orange','apple'} >>>{'orange', 'apple'} #注意重复的元素只显示一个
'apple' in basket >>>True
'pear' in basket >>>False
集合的数学运算:
a = set('ababcdabca') >>>{'c', 'b', 'a', 'd'}
b = {'a','b','m'} >>>{'b', 'a', 'm'}
a - b >>>{'c', 'd'}
b - a >>>{'m'}
a | b >>>{'c', 'd', 'b', 'a', 'm'}
a & b >>>{'a','b'}
a ^ b >>>{'c','d','m'}
集合推导式:
{x for x in a if x not in 'ab'} >>>{'c','d'}
希望本文所述对大家的python程序设计有所帮助。


猜你喜欢
- 有序列表list>>> listTest = ['ha','test','yes&
- 我的代码结构如下所示不能执行,会出现报错<RadioGroup v-model="animal"> <
- 介绍Matplotlib是Python中使用最广泛的数据可视化库之一。Matplotlib的受欢迎程度大部分来自其自定义选项。您可以调整其对
- 本篇文章记录一下函数的等高线及其三维图像的可视化方法。本例绘制的函数为:1. 网格点  在绘制曲线之前,
- 前言python+mysql.connector,demo实战框架搭建说实话,其实没有使用到框架,只是用了, python+mysql.co
- 字符串Go语言中的字符串以原生数据类型出现。 Go 语言里的字符串的内部实现使用UTF-8编码。 字符串的值为双引号(")中的内容
- 说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!一丶说明测试条件:需要有GitHub账号以及在本地安装了Git工具,无论
- 函数:split()Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串。通过指
- Pycharm要激活至2099年,首先必须要先找到这个东西:JetbrainsCrack-2.6.10-release-enc.jar,我上
- opencv 进行任意形状目标识别,供大家参考,具体内容如下工作中有一次需要在简单的图上进行目标识别,目标的形状不固定,并且存在一定程度上的
- 在处理Python代码字符串的时候,我们常会遇到要去除空格的情况,所以就总结了多种方法供大家参考。1、strip()方法去除字符串开头或者结
- 当我写下如下sql语句时,我得到了输入@c参数时想得到的结果集。select * from @tb t where t.id in (sel
- Python递归函数实例1、打开Python开发工具IDLE,新建‘递归.py'文件,并写代码如下:def digui(n):if
- MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两个或者多个查询条件,只有满足所有条件的记录,才会被返回。SE
- 使用OpenCV's Haar cascades作为人脸检测,因为他做好了库,我们只管使用。代码简单,除去注释,总共有效代码只有10
- 查询语言通过在查询表格中键入单词或短语,然后单击按钮执行查询,就可以在 Web 站点中搜索任意的单词或短语(例如,查询表格示例
- 今天呱呱发了一个网址给我看,大概效果就是类似幻灯片的效果。当时我的第一反映这个是不是用锚点做的啊呢,以前在网上看过用锚点做的这类的效果。脑袋
- 首先我们知道python通过pip安装,那么我们安装的所有东西都会在我们pip下的配置目录下,这会显得非常臃肿,同样也让我们部署艰难。pyt
- 这次主要记录在windows下嵌入 python 解释器的过程,程序没有多少,主要是头文件与库文件的提取。程序平台:windows10 64
- 这几天在一机多卡的环境下,用pytorch训练模型,遇到很多问题。现总结一个实用的做实验方式:多GPU下训练,创建模型代码通常如下:os.e