在 Python 列表和字典里,这些坑你踩过吗

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

前言

在Python中,如果我们想要在遍历一组数据的过程中,对这组数据进行修改,通常会出现许多问题,例如对列表进行上述操作

时, 会忽略部分数据;遍历字典时,不能修改数据。本文针对这些问题,提出了多种解决方案。

在这里插入图片描述

简介

一、关于列表

1.问题描述

在Python中,如果你试图在遍历一组数据的过程中,对其进行修改,这通常没什么问题。例如:

Python学习交流Q群:906715085###
l = [3, 4, 56, 7, 10, 9, 6, 5]

for i in l:
    if not i % 2 == 0:
        continue
    l.remove(i)

print(l)

上述这段代码遍历了一个包含数字的列表,为了去除掉所有偶数,直接修改了列表l。然而,运行后输出却是:

[3, 56, 7, 9, 5]

等一下!输出似乎不对。最终的结果仍然含有一个偶数56。为什么没有成功去除这个数呢?我们可以尝试打印出 for循环遍历的所

有元素,运行如下代码:

Python学习交流Q群:906715085###

l = [3, 4, 56, 7, 10, 9, 6, 5]

for i in l:
    print(i)
    if not i % 2 == 0:
        continue
    l.remove(i)

print(l)

这段代码的输出为:

3
4
7
10
6
[3, 56, 7, 9
FDTD脚本教程——结构的创建 文章目录结构的搭建创建长方体创建柱体多边形柱体(椭)圆柱体圆环柱自定义形状创建surface波导球棱锥 在lumerical中,可以使用脚本进行操作,可在右侧脚本编辑器运行,或者直接在下方shell输入。 结构的搭建 创建长方体 um = 1e-6; nm = 1e-7; addrect; set("name","myRect"); set("material","SiO2 (Glass) - Palik"); set("render type","wireframe"); # 默认是细节渲染,也就是det 阅读详情

相关推荐

Spring Boot Jar包加密实战:用ClassFinal与Jasypt打造代码安全堡垒

Spring Boot代码加密与配置保护方案 针对Spring Boot项目源码配置易被反编译的风险,本文提出ClassFinal字节码加密+Jasypt配置加密的组合方案。ClassFinal通过Maven插件对核心代码加密,运行时需JavaAgent加载,反编译后仅保留空方法体;Jasypt则采用强加密算法保护敏感配置。方案优势包括: 双重保护:ClassFinal加密业务逻辑,Jasypt加密数据库密码等配置 灵活部署:支持密码启动、机器绑定等安全策略 平滑集成:兼容Spring生态,动态解密结合配

墨夶的博客 1067

Python新手常见问题——列表中删不掉的0

Python 中,不建议在循环中直接修改正在迭代的列表,因为这可能会导致意外的行为。在你的代码中,当第一个 0 被移除后,后面的两个 0 的索引位置就发生了变化,但是循环的索引却没有跟着更新。这样就会导致第二个 0 没有被完全移除。只要该元素不是 0,就将其添加到。这个方法使用列表解析式来创建一个新的列表,其中包含。上面代码,为什么把nums1面的0移除不干净。这个方法将创建一个新的空列表列表中将只包含非零元素。列表中的所有非零元素。

m0_57021623的博客 729

rotor37_CFD_rotor37_rotor37网格划分_MeshCase_NASARotor37_

cfd计算网格文件,以供cfd初学者学习交流使用。

python中获取字典的key列表value列表

参考

ddana_a的博客 814

【每天1分钟】PYTHON基础之数据类型-列表(操作)

【每天一分钟】PYTHON基础之数据类型-列表(操作) 上一篇,我们对PYTHON列表列表元素操作进行了分类,今天将开始依据分类详细描述,可以通过每天一分钟】PYTHON基础之数据类型-列表(总览)回顾分类内容。 列表创建 使用“=”直接将一个列表给变量即可创建列表对象 创建一个空列表 >>> a_list = [] >>> type(a_li...

小白TOO爱学习的博客 492

Python——列表中存放字典遇到的问题

Python——列表中存放字典遇到的问题 使用列表字典之间的相互嵌套可以很容易的实现json数据格式,但是昨天在往列表中装入字典时遇到了问题: 直接使用append方法将字典添加到列表中,如果需要更改字典中的数据,那么列表中的内容也会发生改变,这是因为dict在Python是object,不属于primitive type(即int、float、string、None、bool)。

小黄鸭的博客 2万+

python 字典详解

字典python的一种内置的数据类型,每个元素都以键 :对形式存在,字典与字符串元组主要不同是,字典是无序的,其元素的访问是通过 “ 键 ” 实现的,而不是通过元素的位置(下标),并且字典中的 “ 键 ” 不能重复。

weixin_57038791的博客 2090

python字典列表的相互嵌套问题

在学习过程中遇到了很多小麻烦,所以将字典列表的循环嵌套问题,进行了个浅浅的总结分类。 列表中存储字典 字典中存储列表 字典中存储字典 易错点 首先明确: ①访问字典中的元素:dict_name[key] / dict_name.get(key) ②访问列表中的元素:list_name[索引] 1.列表中存储字典: ①列表中存储多个字典 p={'name':'lin','age':21} y={'name':'xue','age':20} c=[p,y] print..

Wanster的博客 2万+

python 字典列表嵌套用法

python字典列表的使用,在数据处理中应该是最常用的,这两个熟练后基本可以应付大部分场景了。不过网上的基础教程只告诉你列表字典是什么,如何使用,很少做组合说明。 刚好工作中采集prometheus监控接口并做数据处理的时候,用了很多组合场景,列出几个做一些分享。 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔出现。

1万+

python列表字典之间的相互转换

列表转换成字典注:列表不能直接使用dict转换成字典。方法一:使用zip()函数a = ['a1','a2','a3','a4'] b = ['b1','b2','b3'] d = zip(a,b) print(dict(d)) # {'a1': 'b1', 'a2': 'b2', 'a3': 'b3'}将ab两个列表内的元素两两组合成键对。当两个列表的长度不一致时,多出的元素在另一个列表无...

loner_fang的博客 18万+

python字典可以放列表吗_学习python列表字典

本关学习的是两种新的数据类型:列表字典。在开始之前先学习一下计算机与数据直接的关系。计算机有3种方式利用数据:1、直接使用数据print('我来了')2、计算加工数据print (1+2+3)3 、用数据做判断if i<0:print('你还没有诞生')elif a==0:print('恭喜你出生')elif a<18:print('人生即将开始新征程')else:print('人...

weixin_39650745的博客 3396

python"列表"中含有"多个"字典的相关处理说明

内容:一个“列表,包含了“多个字典”的处理说明 例如:user是一个列表,但是包含了多个不同的“字典” user = [ {'name':'john','password':'123','usertype':1}, {'name':'hyc','password':'1314','usertype':2}, {'name':'yq','password':'520','usertype':3}...

chenhyc的博客 1万+

【笔记】python的嵌套:字典列表、在字典中存储列表、在字典中存储字典

文章目录一、python的嵌套二、字典列表三、在字典中存储列表五、在字典中存储字典 一、python的嵌套 二、字典列表 三、在字典中存储列表 五、在字典中存储字典

qq_51843109的博客 1万+

Python——字典添加到列表

今天在使用Python的时候遇到了一个非常基础的问题,把字典添加到列表,但是结果列表全都一样。 问题代码: test = [] data = {} for i in range(1,3): data['id'] = i data['centent'] = "这是第%d个数字"%i test.append(data) # print(test) for i in...

HAH_HAH的博客 1万+

python列表字典

【代码】python列表字典

beichengbbj的博客 1616

Python学习笔记——列表字典

一个列表需要用中括号[ ]把面的各种数据框起来,面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。

kuangweihan的博客 2708

python字典可以有列表吗_python列表字典的使用

一、概述:以后你在Linux面写Python脚本的时候会经常用到Python列表字典,因为你在以后写脚本的时候,大多数情况下都是对文件进行操作处理,使用字典列表可以很好的操作文件,得出你想要的结果。(在以后的文章,都是使用的Python3对代码进行的解释)二、列表:定义一个空的列表: list = []<1>,往列表中添加一个元素aa:list.append('aa') ==》...

weixin_39710561的博客 1352

python处理列表字典_python列表字典元素合并为一个字典实例

我就废话不多说了,大家还是直接看代码吧~def list_dict(list_data):dict_data = {}for i in list_data:key, = ivalue, = i.values()dict_data[key] = valuereturn dict_dataif __name__ == '__main__':list_data = [{'aa': 'aa'},{'bb'...

weixin_39746869的博客 533

Python——列表字典的区别

参考Python列表字典有什么区别?作的学习记录。 目录列表列表具有“异构性”,可以包含不同类型的对象列表是“有序的”,切片,左闭右开负索引步进切片列表插入,修改,删除不需要重新建表排序字典读取插入用列表生成字典用键对元组组成字典获取键删除键排序 列表 列表具有“异构性”,可以包含不同类型的对象 l = [1, [2.3, 4],'temp'] 列表是“有序的”,切片,左闭右开 l = [1,2,3,4,5,6,7] l[1:4] = [2,3,4] //1:4表示序号1到序号4,序号为1的为2,

程序猿进化梯 1643

python列表字典区别

列表 1.任意对象的有序集合 列表是一组任意类型的,按照一定顺序组合而成的 2.通过偏移读取 组成列表叫做元素(Elements)。每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现 3.可变长度,...

Python_cresss的博客 3654

Python列表、元组字典

但方法有一个额外的功能——当程序要获取的key在字典中不存在,该方法会先为这个不存在的key设置一个默认的value,然后再返回该key对应的value。提示:此处随机其实是假的,正如列表的pop()方法总是弹出列表中的最后一个元素,实际上字典的popitem()其实也是弹出字典的最后一个key-value对。由于字典存储key-value对的顺序是不可知的,因此开发者感觉字典的popitem()方法是“随机”弹出的,但实际上字典的popitem()方法总是弹出底层存储的最后一个key-value对。

2302_79085918的博客 2102
上一篇: 用【Python】写了一个水果忍者小游戏,玩过之后爱不释手
下一篇: 【骚操作】Python 教你无损提取视频中的美女图片
蚂蚁爱Python
博客等级 码龄4年 2484粉丝 · 366原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值