Python自学之路-list、tuple、dict和set

news/2024/7/3 18:14:23

image

上一篇「Python自学之路-数据类型和变量」主要简单说明了下数据类型和变量,这一篇主要和大家介绍下**list、tuple、dict和set。**相信后期在实战中会经常用到。

一、list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

首先可以定义一个城市的变量citys:

citys=[‘Shanghai’,‘Beijing’,‘Guangzhou’,‘Suzhou’]

citys

[‘Shanghai’, ‘Beijing’, ‘Guangzhou’, ‘Suzhou’]

获取citys中某个元素,注意索引是从0开始的:

citys[0]

‘Shanghai’

Python有个特殊的技能,可以从最后一个元素开始取

citys[-1]

‘Suzhou’

追加元素可使用append(追加至末尾):

citys.append(‘Wuhan’)

citys

[‘Shanghai’, ‘Beijing’, ‘Guangzhou’, ‘Suzhou’, ‘Wuhan’]

元素插入到指定的位置使用insert:

citys.insert(1,‘Qingdao’)

citys

[‘Shanghai’, ‘Qingdao’, ‘Beijing’, ‘Guangzhou’, ‘Suzhou’, ‘Wuhan’]

删除置顶位置的元素使用pop(i),i为索引位置,不填表示删除末尾的元素:

citys.pop()

‘Wuhan’

citys

[‘Shanghai’, ‘Qingdao’, ‘Beijing’, ‘Guangzhou’, ‘Suzhou’]

元素替换可以直接赋值:

citys[0]=‘上海’

citys

[‘上海’, ‘Qingdao’, ‘Beijing’, ‘Guangzhou’, ‘Suzhou’]

另外,list中的元素类型可以是不同的:

test=[‘上海’,520,True]

test

[‘上海’, 520, True]

image

二、tuple

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改

list定义时是使用**[],而tuple是使用() **

由于定义的tuple不能变,所以也就不存在append(),insert()这样的方法,但其他获取元素的方法还是和list一样的。

有两个注意点需要注意:

1.定义tuple时,元素必须确定下来,当定义一个元素的时候必须加一个逗号’,’。用来区分()是表示数学公式中的小括号,还是tuple的元素集合边界。

2.tuple中的不可变是指指向不可变。但指向的这个元素本身是可以改变的,比如tuple中嵌套个元素list,那list中的元素是可以改变的。

三、dict

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

相较于list而言,dict的查找和插入的速度极快,同时也不会随着key的增加而变慢。但同时,所占用的内存也相对较多。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

d = {‘张三’:1,‘王四’:2,‘李五’:3}

d[‘张三’]

1

这里要注意的是,一个key只能对应一个value,多次赋值只会覆盖。

要判断key在dict中存不存在有两种方式:

一是通过in判断key是否存在:

‘张三’ in d

True

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value,如果存在则返回1:

d.get(‘张三’)

1

d.get(‘张三儿子’,-1)

-1

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

d.pop(‘张三’)

1

d

{‘王四’: 2, ‘李五’: 3}

四、set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

大家可以看到,重复元素在set中自动被过滤,同时显示的顺序也不表示set是有序的

s = set([11, 22, 33,44,55,44,55])

s

{33, 11, 44, 22, 55}

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

s.add(66)

s

{33, 66, 11, 44, 22, 55}

通过remove(key)方法可以删除元素:

s.remove(66)

s

{33, 11, 44, 22, 55}

image

五、总结

本次主要整理了list、tuple、dict和set一些常规用法和注意点,相较于其他编程语言还是类似的,如果没有编程基础的可以多看看,多敲敲,相信实战中会经常用到的。
资料视频教程领取方式:

1、点赞+评论(勾选“同时转发”)

2、关注小编。并私信回复关键字【资料】
(一定要私信哦~点击我的头像就能看到私信按钮了)


http://www.niftyadmin.cn/n/4775255.html

相关文章

bWAPP(A8~CSRF)

A8 - Cross-Site Request Forgery CSRFCross-Site Request Forgery (Change Secret)Cross-Site Request Forgery (Change Secret)Cross-Site Request Forgery (Transfer Amount)Cross-Site Request Forgery (Change Secret) CSRF,全称Cross-site request forgery&am…

注解反射

/* 下面都很直白(low 不专业) 用最简单的东西描述完注解反射 如有错 你们去找我java老师算账吧 是他教的问题 就是这样。 知道或者了解一下注解 反射还是很有助于java框架学习的(我觉得是的)。注解反射应用上是框架…

Python自学之路-requests使用总结

(一)背景 学习Python有三周了,虽然由于工作、家庭原因,学习的时间不够多,但还是尽量去争取点时间去学习,最近的工作中,如果有时间,有条件的话,都会摸索着使用Python去解…

Coder fresher 要知道底层么

其实我从前是非常一股脑赞成那种“我们必须知道底层”这种观点的。总觉得程序员知道底层才有前途,才好装,才算大佬,还有就是别人巴拉巴拉 操作系统编译原理计算机网络名词蹦出来,你什么都不会 好丢脸,最明显例子就是大…

Python自学之路-内置函数说明及实例(一)

这篇主要整理下Python中的内置函数说明和实际用法,希望对新手有帮助。「其中一部分,有时间会继续整理」 **1.abs() ** 对传入参数取绝对值 2.all(iterable) 说明:参数iterable:可迭代对象; 如果iterable的所有元素不为0、’’…

ssrf-lab踩坑记录

详细安装见Centos7下安装Docker(详细安装教程) 可以配置镜像加速器,在阿里云找docker节点 解决办法Linux -bash: git: 未找到命令的解决方法 呃。。不过最后还是有点问题没有解决。。 还是要转到phpstudy进行搭建 先来简单了解一下ssrf 概…

从一个集合中查找最大最小的N个元素——Python heapq 堆数据结构

Top N问题在搜索引擎、推荐系统领域应用很广, 如果用我们较为常见的语言,如C、C、Java等,代码量至少也得五行,但是用Python的话,只用一个函数就能搞定,只需引入heapq(堆队列)这个数据结构即可。今天偶然看到…

删RAC中间ASM和LISTENER 资源的正确方法

在我们的安装RAC什么时候。有时因各种错误加载错误ASM实例或LISTENER显示器,或增加CLUSTERWARE资源,但并没有真正的工作,例如: 如图所看到的,这里在2个节点分别创建过ASM1和ASM2实例,相应的资源名称分别为o…