坑坑坑坑坑坑

死循环

# lst = [1, 2]
# for i in lst:
#     lst.append(3)
# print(lst)

删除列表元素会遇到的坑

# pop默认删除
lst = [1, 2, 3, 4]
for i in lst:
    lst.pop()
print(lst)
# 解释:
# pop默认从后往前删除,元素被删除后,会自动补位
# 走到一的时候删2,走到二的时候删3,所以会留下俩个
# remove 也是同样的原理
# 指定索引删除,从前往后删除
lst = [1, 2, 3, 4]
for i in lst:
    lst.pop(0)
print(lst)
# 按照索引位置删除,每删除一个元素,自动补位
lst = [1, 2, 3, 4]
for i in lst:
    lst.remove(i)
print(lst)
# 使用pop删除的时候删不干净,可以用如下方法
lst = [1, 2, 3, 4, 5]
for i in range(len(lst)):    # 根据列表长度进行循环删除
    lst.pop()
print(lst)
# 使用del删除,每次都删除最后一个元素
# 方法一
lst = [1, 2, 3, 4, 5]
for i in range(len(lst)-1,-1,-1):
    del lst[i]
print(lst)

# 方法二
lst = [1, 2, 3, 4, 5]
for i in range(len(lst)):
    del lst[-1]
print(lst)

# 方法三,使用remove
lst = [1, 2, 3, 4, 5, 6]
lst1 = lst.copy()
for i in lst1:
    lst.remove(i)
print(lst)

删除或者修改字典会遇到的坑

# 删除字典元素
dic = dict.fromkeys("12345",1)
dic1 = dic.copy()
for i in dic1:
    dic.pop(i)
print(dic)
# 修改字典键值对的值
dic = dict.fromkeys("123456", 1)
for i in dic:
    dic[i] = '123'     ## 字典在迭代的时候改变了原来的大小(不能加不能删)]
print(dic)

原文地址:https://www.cnblogs.com/yangduoduo/p/11181647.html

时间: 2024-10-12 16:20:44

坑坑坑坑坑坑的相关文章

踩坑(Running)填坑(ZSSURE):DevExpress的XtraTabControl、Telerik的OpenAccessContext以及StarUML

题记: 今天好友在朋友圈分享了一篇有深度的好文"请鼓励你的孩子做个幸福普通人",文章略显长,细细品读下来感触颇多.加之最近天天看着小外甥大睿睿的一步步的成长,已渐渐远离年轻稚嫩.走向成熟稳重的我对学习有了新的认识,回想起自己的成长过程,经验和技能并非是父母手把手教导的,反而是他们给我营造的"自由.开放.甚至略显放纵"的环境.他们以身作则的行动,让我从中体会.感悟出了所有的点点滴滴. 说到现在从事的软件研发工作,想想同学中毕业鲜有留下来做技术的(姑且认为IT民工也属于

你是在正在创建一个坑还是在扩建一个坑?

这周的工作终于告一段落,费神的一周啊.在历史功能上开发新功能,历史代码还有bug.开发过程中心情相当的纠结.还好,最后还是把它拿下了,逻辑还算清晰,但是就是代码太多了,这个提醒我们,在编码规则中必须加一条,一个方法的代码不能超过多少行代码,每行代码不能超过多少字,每个类不能超过多少个方法. 其实大家都知道,作为具体业务开发,很多情况是根据业务,一般就不会做过多结构和代码优化的考虑.一切主要为具体的功能服务,这样的思路对于小模块或者说逻辑不是很多功能需求来说,似乎并没有什么错:但是长此以往,你就会

Esxi虚拟机安装Ros+Openwrt软路由双系统简单分享(踩到的坑,很大的坑)

近段时间ke学上网反应很慢,网上看到了 Ros+Openwr能够解决DHCP污染的这个问题,所以看看自己的3825U小主机刚可以满足要求,搞一下吧. 听说L大的openwrt软路由固件ke学上网很不错,所以找了一个大神编译好的.还有就是ROS系统可以做DNS缓存加快网址的解析.在论坛各种群里均可以找到. 以下是准备的东西. 1.openwrt软路由固件( 20200318openwrt-x86-64-combined-squashfs.img) (旁路由固件,网关192.168.119.251)

【坑】掉过的坑们

2015年1月15日 21:58:56 Windows下换行是\n,Linux下是\r\n,所以read函数中第一个while ( ch<'0' && ch>'9')这个地方写成&&(实际应该是 || ),在Windows下不会出错(虽然没执行这个while,但每次刚好一个废字符被浪费掉,所以不会出事)但是在Linux下两个废字符就会导致RE……

踩坑(Running)填坑(ZSSURE):SQLite数据库操作效率分析

背景: 之前对于数据库操作部分大多停留在会使用阶段,并未真正考虑过数据库SQL语句的执行效率问题.近期响应项目组其他成员需要,协助手动修改数据库.为了提高工作效率编写了C#测试工程进行相关操作.由于数据库记录量较大(超过10K条),在编写程序过程中发现不同的操作执行效率相差甚远,特做记录如下,待后续有时间再深入分析各种数据库的SQL语句的执行效率. 此次数据库修改要求涉及到删除.修改.添加等各种操作,为了简单对比各种方式下程序的执行效率,只选择"删除"操作进行分析.详情如下: for循

入坑?那就从坑里爬出来

进入大学,我选择的专业是船舶与海洋工程,然而进入之后不断听到这专业越来越不景气,老师也在不断强调船舶专业的近年来处于低谷,顿时觉得自己当初是那么的天真. 大一的一年我能做的就是将学习搞好,很快一年过去了,那时我总是对自己的未来很是迷茫,不知该如何是好,正是自己的犹豫不决,最后错过了转专业的机会.从那之后,我下定决心辅修软件工程,虽然代价很高,要交付比别人更高达的学费,要牺牲自己的周末和寒暑假的时间,我心里想的是,没有付出就不会有收获,一切的决定都是为了自己的将来,决定了就要承担这一切. 时间很快

聊聊Android 热修复Nuwa有哪些坑

原创地址:http://blog.csdn.net/sbsujjbcy/article/details/51028027 前面写了两篇关于Nuwa的文章 Android 热修复Nuwa的原理及Gradle插件源码解析 Android 热修复使用Gradle Plugin1.5改造Nuwa插件 然后我说了Nuwa有坑,有人就问Nuwa到底有哪些坑,这篇文章对自己在Nuwa上走过的坑做一个总结,如果你遇到了其他坑,欢迎留言,我会统一加到文章中去.当然有些也不算是Nuwa的坑,算是ClassLoade

Netty中的那些坑

Netty中的那些坑(上篇) 最近开发了一个纯异步的redis客户端,算是比较深入的使用了一把netty.在使用过程中一边优化,一边解决各种坑.儿这些坑大部分基本上是Netty4对Netty3的改进部分引起的. 注:这里说的坑不是说netty不好,只是如果这些地方不注意,或者不去看netty的代码,就有可能掉进去了. 坑1: Netty 4的线程模型转变 在Netty 3的时候,upstream是在IO线程里执行的,而downstream是在业务线程里执行的.比如netty从网络读取一个包传递给

【转载】Fragment 全解析(1):那些年踩过的坑

http://www.jianshu.com/p/d9143a92ad94 Fragment系列文章:1.Fragment全解析系列(一):那些年踩过的坑2.Fragment全解析系列(二):正确的使用姿势3.Fragment之我的解决方案:Fragmentation 本篇主要介绍一些最常见的Fragment的坑以及官方Fragment库的那些自身的BUG,这些BUG在你深度使用时会遇到,比如Fragment嵌套时或者单Activity+多Fragment架构时遇到的坑.如果想看较为实用的技巧,

手机那点事!已有高人把常见的不常见的坑都给找出来了,我就随便转一下了

mobileTech A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 工具类网站 HTML5 与 CSS3 技术应用评估 各种奇妙的hack 几乎所有设备的屏幕尺寸与像素密度表 移动设备参数表 ios端移动设备参数速查 浏览器兼容表 移动设备查询器 移动设备适配库 移动设备适配库2 viewport与设备尺寸在线检测器 html5 移动端兼容性速查 在线转换字体 c