python之常见的坑
li = [1,2,3,4] # [1,3,4]
# 索引值是奇数的删除
for i in range(4):
if i % 2 == 1:
li.pop(i) # 会报错
print(li)
面试题:
li = [1,2,3,4,5] #[1,3,4,5]
# 索引值是奇数的删除
for i in range(4):
if i % 2 == 1:
li.pop(i) # 结果不对
print(li)
li = [1,2,3,4,5]
for i in range(len(li)-1,-1,-1):
if i % 2 == 1:
li.pop(i) # 倒序删除
print(li)
偷换感念
li = [1,2,3,4,5]
new_li = []
for i in range(len(li)):
if i % 2 == 1:
new_li.append(li[i])
for em in new_li:
li.remove(em)
print(li)
li = [1,2,3,4,5]
for i in range(len(li)-1,-1,-1):
if i % 2 == 1:
del li[i] # 倒序删除
print(li)
li = [1,2,3,4,5]
del li[1::2]
print(li)
使用for删除列表的时候从左向右删除,会报错.结果不对
dic = {"k1":"v1","k2":"v2"}
for i in dic:
dic["k3"] = "v3"
print(dic)
面试题:
li = [1,2,3,4]
for i in li:
li.append(i)
print(li)
不能在遍历字典本身中改变大小,要批量删除字典的键值对
dic = {"k1":"v1","k2":"v2","k3":"v3"}
for i in dic:
dic["k7"] = "1"
print(dic)
li = []
for i in dic:
if i == "k1" or i == "k3":
li.append(i)
for em in li:
dic.pop(em)
print(dic)
python之常见的坑的更多相关文章
- Python 爬虫常见的坑和解决方法
1.请求时出现HTTP Error 403: Forbidden headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23. ...
- Python 装饰器填坑指南 | 最常见的报错信息、原因和解决方案
本文为霍格沃兹测试学院学员学习笔记. Python 装饰器简介 装饰器(Decorator)是 Python 非常实用的一个语法糖功能.装饰器本质是一种返回值也是函数的函数,可以称之为“函数的函数”. ...
- Golang开发者常见的坑
Golang开发者常见的坑 目录 [−] 初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accid ...
- Python这五个坑,80%你不知道(对的,五个你知道1个就达到一般水平了)
1 含单个元素的元组 Python中有些函数的参数类型为元组,其内有1个元素,这样创建是错误的: c = (5) # NO! 它实际创建一个整型元素5,必须要在元素后加一个逗号: ! c = (5,) ...
- Python:常见错误集锦(持续更新ing)
初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...
- python基础===Python 代码优化常见技巧
Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...
- 纯Socket(BIO)长链接编程的常见的坑和填坑套路
本文章纯属个人经验总结,伪代码也是写文章的时候顺便白板编码的,可能有逻辑问题,请帮忙指正,谢谢. Internet(全球互联网)是无数台机器基于TCP/IP协议族相互通信产生的.TCP/IP协议族分了 ...
- Python之常见算法介绍
一.算法介绍 1. 算法是什么 算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输 ...
- python中的这些坑,早看早避免。
python中的这些坑,早看早避免. 说一说python中遇到的坑,躲坑看这一篇就够了 传递参数时候不要使用列表 def foo(num,age=[]): age.append(num) print( ...
随机推荐
- 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)
目录 将Window 10 升级到1903版本 安装好git, 从github上clone代码 安装 VS 2019 和 .NET core 3.0 SDK 重定解决方案目标 设置好编译平台和启动的项 ...
- 洛谷 - P1020 - 导弹拦截 - 最长上升子序列
https://www.luogu.org/problemnew/show/P1020 终于搞明白了.根据某定理,最少需要的防御系统的数量就是最长上升子序列的数量. 呵呵手写二分果然功能很多,想清楚自 ...
- POJ2752【KMP-next数组含义】
题意: 给一个字符串,求满足既是这个字符串的前缀,又是这个字符串的后缀,从小到大输出长度 思路: 细讲next数组含义博文:点我 首先要满足前缀的呀. KMP的next数组干的是子串最长后缀. 所以从 ...
- [Xcode 实际操作]九、实用进阶-(32)项目的打包上传和提交审核以及下架处理
目录:[Swift]Xcode实际操作 本文将演示如何将一个应用程序进行打包上传,并提交审核以及下架处理. 点击项目[DemoApp]->[Build Settings]编译设置->[Pr ...
- ADO winform登录
做一个程序,首先应该从登录,注册.以及增,删,改查开始,本页分享一下程序的登录 登录我们首先要有数据,所以要连接数据库,从数据库中获取我们用户的账号及密码.连接 数据库的代码:创建连接:SqlConn ...
- Elasticsearch and MongoDb
http://www.linkedin.com/groups/Difference-between-elasticsearch-MongoDB-3393294.S.588764405916973056 ...
- js动态实现文本框不可编辑状态
两种方法: $("#id").attr("readOnly",false); 不可编辑,可以传值 $("#id").attr("d ...
- flask环境安装
virtualenv venv #创建venv .venv/bin/activate #进入venv venv/bin/pip install flask venv/bin/pip install f ...
- python之yagmail发送邮件
yagmail发送邮件 import yagmail yag = yagmail.SMTP(user="xxxxxxxxxx@163.com",password="xxx ...
- Tinghua Data Mining 8
聚类 Clustering 根据评论信息做一些聚类,挖掘关系. bug 期望最大法 peek高峰的个数与高斯函数的个数不一定相同 Z隐含参数 不需要求 每个点属于哪个簇 类似于辅助线 跳板 借力 模型 ...