自学Python编程的第八天----------来自苦逼的转行人
时间:2019-09-18
本文章向大家介绍自学Python编程的第八天----------来自苦逼的转行人,主要包括自学Python编程的第八天----------来自苦逼的转行人使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
2019-09-18-21:11:24(初学者不会学博客,望大家见谅见谅)
今天学的内容是有关list.、dict、set集合的使用方法和注意事项
list和dict在循环中不可删,而且list在迭代输出时进行删除是会导致索引跟着改变
所以一般list不在循环过程中进行删除
list和dict要进行删除时,应该把要删除的记录到另一个列表中,然后在进行删除
深浅拷贝:
浅拷贝只拷贝第一层的内容,而深拷贝是全部内容都进行了拷贝
下面是总结的内容:
一.重要知识点
1. str. join() 把列表变成字符串
2. 列表不能在循环的时候删除.因为索引会跟着改变
注意:由于删除元素会导致元素的索引改变, 所以容易出现问题. 尽量不要在循环中直接去删除元素.
可以把要删除的元素添加到另⼀个集合中然后再批量量删除.
3. 字典也不能直接循环删除.(dict中的元素在迭代过程中是不允许进⾏删除的)
把要删除的内容记录在列表中. 循环列表. 删除原列表, 字典中的数据
4. fromkeys() 不会对原来的字典产生影响. 产生新字典(神坑, 考试)
5. set集合. 不重复, 无序.
注意: set集合中的元素必须是可hash的, 但是set本身是不可hash的. set是可变的
set去重操作比较常用
6. 想转换成什么.就用什么括起来
7. 深浅拷贝(拷贝要比创建对象过程要快得多)
1. 直接赋值. 两个变量指向同一个对象.
对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量.并不是复制⼀份内容.
所以. lst1的内存指向和lst2是⼀样的. lst1改变了, lst2也发⽣了改变
2. 浅拷贝:只拷贝第一层内容. 第二层内容不会被拷贝copy()
3. 深度拷贝: 对象中的所有内容都会被拷贝一份
import copy
copy.deepcopy()
二.错误总结
1.把问题复杂化
lst= ['jinpingmei','解救吾先生','美国往事','西西里的美丽传说']
dic={}
for el in lst:
content=input('请给%s电源评分:' % el)
if dic.get(el)==None: '''
dic[el]=content 这里可以更加简单写
else: 改正的方法在下一个
dic[el].append(content) '''
print(dic)
for el in lst:
content=input('请给"%s"电影评分:' % el)
dic[el]=content
print(dic)
#错先这个错误的原因是因为没有想到dic字典的增删改查中的增的作用,把问题复杂化了,还不会充分利用连贯所学的知识点
解决方法:需要把所学的知识点在过一遍,然后总结看哪些知识点是可以连贯在一起使用
原文地址:https://www.cnblogs.com/hpcz190911/p/11545429.html
- Linux下的rsyslog系统日志梳理(用户操作记录审计)
- 数据结构之数组封装
- Centos下内网NDS主从环境部署记录
- 一搜解决,微信的这个功能厉害了!
- Saltstack自动化操作记录(2)-配置使用
- Saltstack自动化操作记录(1)-环境部署
- CentOS源码编译安装Nginx和tcp_proxy module
- 介绍一个MonoTouch开发的伦敦官方城市指南应用
- 虾说区块链-55-《精通比特币》笔记十
- SignalR QuickStart
- Node.js入门学习笔记-IDE选择/配置之WebStorm(windows)
- Captcha插件后门分析和修复
- log4net.SignalR - 日志即时发送客户端页面
- 科学家担心的智能爆炸,真会有这一天吗?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- GWAS | 使用GEMMA进行全基因组关联分析
- 使用eggnog-mapper进行功能注释
- 离线环境下使用Conda安装软件
- 利用cutree划分pheatmap聚类结果
- 使用Mfuzz进行转录组表达模式聚类分析
- 使用PopLDdecay快速进行连锁不平衡分析
- 报错坑 | LDSC安装报错怎么解决?
- 看看斯坦福大学是如何教学生编程的
- 安全框架shiro入门示例
- maven导入jar包到本地仓库
- Python-matplotlib 空间栅格数据可视化
- 图解面试题:如何找到喜欢的电影?
- Java agent 与 byte buddy
- 关于TRTC云端混流的踩坑分享
- 聊聊dubbo-go的ConsistentHashLoadBalance