python之常见的坑
2024-09-04 16:26:41
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)
最新文章
- android学习第一篇 基本概念
- chrome一直提示adobe flash player 因过期而遭阻止
- 构建angular项目
- Linux下cp -rf总是提示覆盖的解决办法
- SIM卡
- 用DataBaseMail发图片并茂的邮件
- Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET
- FFT(快速傅立叶变换):HDU 1402 A * B Problem Plus
- git使用前配置
- Cntlm安装和配置体验
- psql: FATAL: role “postgres” does not exist 解决方案
- 实战WEB 服务器(JAVA编写WEB服务器)
- JDK中日期和时间的几个常用类浅析(五)
- IO通信模型(三)多路复用IO
- php学习----异常处理(接上篇)
- GCC编译器原理(三)------编译原理三:编译过程(3)---编译之汇编以及静态链接【2】
- 集合框架二(Collection接口实现类常用遍历方法)
- Android中级教程之----Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
- 【论文解读】行人检测:What Can Help Pedestrian Detection?(CVPR'17)
- JQuery的源码阅读