百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Python学堂,手把手教你学会-第02课-列表+字典

liuian 2024-11-28 00:44 27 浏览

列表+字典


Python基础课 列表+字典 一、列表

列表是按照特定顺序的排列组合,就像数学中的数列,列表中的元素具有一定的排列顺 序。

在Python中,列表用方括号[ ]来表示列表,比如:

>>>a= ['Python','C','Java'] 1、访问列表中的元素

索引开始:0

如果我们想要打印上述列表中的Python,就需要我们访问列表中的第一个元素。在Python 中,列表的访问从0开始,索引数为元素的位置减去1,访问的元素位置放在方括号里面,如 果我们想要访问第一个元素Python,则索引为0,即:

或者,在pyt hon中也可以逆序访问,从后往前索引依次是-1 -2 ...,比如

修改列表元素

在刚刚的列表中,如果我想把列表a中的第三个元素Java修改为R,则可以采用如下的命令:

直接用赋值的命令(=)来修改列表中的元素,修改后,再试着打印原来的列表,看有没有修改 成功。

在列表中添加元素:append( ) insert( )

在列表末尾添加元素 在刚刚的列表末尾添加元素Ruby,使用方法append( )

在列表中添加元素 如果想把元素Ruby添加到Python后面,则需要使用方法insert( )。

从列表中删除元素 : del语句 , remove( ) , pop( ) 知道元素的位置,删除某个特定位置的元素用del语句

不知道元素的位置,但是知道要删除什么元素,使用方法remove( )

如果想删除这个值并且继续使用它,可以使用方法pop( ),方法pop( )可以将原有列表中特定 元素删除,并且可以将之赋值给新的变量。

2、组织列表

组织列表:方法sort( ) , 函数sorted( ) , 方法reverse( ) 列表的永久性排序sort( )

使用方法sort( ) 可以对列表进行永久性排序

列表的临时排序sorted( )
使用函数sorted( ) 可以对列表进行临时性排序

倒着打印列表
要倒着打印列表,可以用方法reverse( ),方法reverse永久性的修改了排列的元素

确定列表的长度
可以用函数len( ) 确定列表的长度

使用列表时避免索引错误

常见的索引错误包括:

1、忘记索引数是元素位置减去1 2、超出访问的列表索引 3、列表为空列表时,倒着访问列表a[-1]错误

注:当发生索引错误时,可以将列表长度打印出来观察是什么错误 3、操作列表——创建数值列表

使用range( )创建数字列表
可以使用函数range( ) 和函数list( ) 创建数字列表;

函数range( ) 可以生成一系列的数字,里面第一个参数是起始值,第二个参数表示不超过这个 值的终止值,第三个参数表示步长,默认为1;

函数list( ) 可以将里面的参数转换为列表。

对数字列表进行简单的统计计算 可以对数值列表进行简单的统计,例如最大值、最小值、总和。

4、操作列表——使用列表的一部分

切片

切片,相当于把列表其中的一部分切出来。要创建切片,可以指定第一个元素和最后一个元素 的位置,切片到达第二个元素的前一个元素停止切片,类似于函数range( )

复制列表

使用切片的方法来复制列表,会产生两个列表。如果使用赋值(=)的方法来复制列表,第二 个列表仅仅是指向第一个列表,并没有复制。

采用赋值的方法来复制列表

二、字典

字典是 Python 内置的一种数据结构,它便于语义化表达一些结构数据,字典是开发中 常用的一种数据结构

1、字典介绍

1. 字典使用花括号 {} 或 dict 来创建,字典是可以嵌套使用的 2. 字典是成对出现的,字典以键 (key) 值 (value) 对形式体现

3. 键与值之间用冒号 : 分隔,每个键值对之间用逗号 , 分隔开
4. 字典的 key 是唯一的,而 value 可以重复出现
5. 字典的 key 不使用中文或其他字符,这是业内约定俗成的做法

2、创建字典

使用花括号 {} 创建字典

注意:字典每个键值对之间要用逗号 , 分隔开

1 2 3 4 5 6 7

3、字典取值

字典取值有两种方式

1. 方式一

在字典变量后面使用方括号传入字典的 key 进行取值 这种方法有一个弊端:如果字典中不存在 key ,会报 KeyError 错误

2. 方式二

使用字典 get 方法取值

emp = {'name':'张三' , 'age':22 , 'sex':'男'} print(emp)

# 运行结果:{'name':'张三' , 'age':22 , 'sex':'男'} # 字典打印时会将花括号也打印出来

print(type(emp))
# 运行结果:<class 'dict'>
# 从以上打印类型可以看出变量属于 dict 字典类型/3、

如果不存在 key ,返回 None 或自己指定的值,例如 N/A,以下为示例代码

4、字典的操作 新增

列表的新增操作和更新操作基本相同,Python 字典秉承:“有则更新,无则新增” 原则

当字典存在对应的 key 时执行更新,当字典不存在对应的 key 时执行新增 1. 新增操作

2. 批量操作

删除
1. 使用 pop() 方法删除

该方法删除字典给定的键及对应的值 pop() 可返回值,返回值为被删除的值

2. 使用 popitem() 删除字典最后一个 kv popitem() 返回的是一个元组

3. 清空字典 clear()

相关推荐

Docker 47 个常见故障的原因和解决方法

【作者】曹如熙,具有超过十年的互联网运维及五年以上团队管理经验,多年容器云的运维,尤其在Docker和kubernetes领域非常精通。Docker是一种相对使用较简单的容器,我们可以通过以下几种方式...

电脑30个快问快答,解决常见电脑问题

1.强行关机/停电对电脑有影响吗?答:可能损坏硬盘(机械硬盘风险高)、未保存数据丢失,偶尔一次影响小,但频繁操作会缩短硬件寿命。2.C盘满影响速度吗?答:会!系统运行需C盘空间缓存临时数据,空间不...

使用Tcpdump包抓取分析数据包的详细用法

TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种...

电脑启动不了(BootDevice Not Found Hard Disk-3F0)解决方案

HP品牌机,开机启动不了,黑屏,开机取下主板电池恢复BIOS后,开机显示找不到启动盘。一、按F2键进入BIOS,出现硬盘内存检测界面的话,直接退出。就会出现这个界面,光标键向下,选择BIOSSetu...

电脑开机黑屏别慌!快码住!起底维修老师傅不能说的秘密

按下开机键却只收获黑屏大礼包?那些神秘的英文提示、刺耳的蜂鸣声,其实是电脑在给你发送求救信号!从按下电源到进入桌面的12秒里,你的电脑经历了史诗级的硬件自检与系统加载,今天我们就破译这段“摩斯电码”。...

电脑启动故障为何总要先看BIOS?新手必读的关键知识解析

最近在帮朋友们解答电脑无法正常开机的问题时,发现大家经常收到一句高频建议:“先检查BIOS”。对不少普通用户而言,BIOS依然是个神秘的存在。那么,BIOS到底是什么?电脑出现哪些故障会与它相关呢?本...

Windows 11 KB5053598更新:安全补丁还是系统噩梦?

2025年3月11日,微软发布了Windows1124H2的强制性更新KB5053598,作为“周二补丁日”(PatchTuesday)的一部分。然而,这款本应提升系统安全性的更新却引发了广泛的...

飞牛OS入门安装遇到问题,如何解决?

之前小编尝试了用旧电脑装飞牛OS安装之前特意查了一些硬件要求飞牛OS目前支持主流的x86架构硬件主机需能连网线飞牛OS暂时不支持只有无线网卡的安装貌似很多小伙伴在一开始安装就卡住了那今天咱们汇总分...

几种常见的电脑开机黑屏显示白色英文字母解决方法

当电脑开机出现黑屏并显示白色英文字母时,通常表示系统启动过程中遇到了错误。以下是几种常见原因及对应的解决方法,按照排查顺序整理:一、检查外接设备与硬件连接可能原因:外接U盘、移动硬盘等未拔出,或内部硬...

电脑启动出现问题,为什么都要先检查BIOS?

【ZOL中关村在线原创技巧应用】最近在回答问题的时候,总会发现很多朋友都在问“电脑无法正常开机怎么办?”这样类似的问题,而许多DIY大佬的回复总会出现一条高频建议“先检查BIOS”。但对于许多普通用户...

教你怎么用JavaScript检测当前浏览器是无头浏览器

什么是无头浏览器(headlessbrowser)?无头浏览器是指可以在图形界面情况下运行的浏览器。我可以通过编程来控制无头浏览器自动执行各种任务,比如做测试,给网页截屏等。为什么叫“无头”浏览器?...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

运维的报表之路,用 node.js 轻松发送 grafana 报表

在运维过程中,无论是监控还是报表,都会有一些通过邮件发送图表的需求,由于开源的zabbix,grafana和kibana等并不完全具有“想发送哪儿就发送哪儿”的图片生成功能,在grafana...

C#基于浏览器内核的高级爬虫(c#爬取网页内容)

基于C#.NET+PhantomJS+Sellenium的高级网络爬虫程序。可执行Javascript代码、触发各类事件、操纵页面Dom结构、甚至可以移除不喜欢的CSS样式。很多网站都用Ajax动态加...

如何优化一个秒杀项目?(秒杀实现思路)

问题1:使用jmeter性能压测,定位瓶颈代码步骤流程:线程组--->Http请求--->查看结果树--->聚合报告tips:host的文件--->优先调用映射,减少DNS的时...