自学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字典的增删改查中的增的作用,把问题复杂化了,还不会充分利用连贯所学的知识点
解决方法:需要把所学的知识点在过一遍,然后总结看哪些知识点是可以连贯在一起使用
自学Python编程的第八天----------来自苦逼的转行人的更多相关文章
- 自学Python编程的第二天----------来自苦逼的转行人
今天是2019.9.11号22:51分 这是我自学Python的第二天,也是我写博客的第二天,还是不知道怎样写博客的第二天,有点懵 今天学Python还是一样的懵,错误还是有很多,而且脑中也不够灵活, ...
- 自学Python编程的第一天----------来自苦逼的转行人
学习Python的第一天,也是我第一次写博客的一天,不怎么会写博客,也不怎么会Python,也不怎么会写总结.在学Python的第一天发现自己脑子不是很好用,在学习过程中出现很多错误,错误锦集如下,哈 ...
- 自学Python编程的第十天(希望有IT大牛看见的指点小弟我,万分感谢)---------来自苦逼的转行人
2019-09-20-23:24:15 今天逛论坛.逛知识星球时.逛b站up主时,都说到低学历,非科班的人最好不要去自学Python 他们都说:如果我们学python是为了找工作,最好不要把pytho ...
- 自学Python编程的第九天(希望有大牛帮我看看我第一个代码是否有弊端,感谢您们)----------来自苦逼的转行人
2019-09-19-22:11:33 今天是自学Python的第九天 学的内容是有关文件操作的,如:r.w.a.rb.wb.ab.r+.w+.a+等 有大牛帮我看一下我的代码第一个有没有什么弊端吗? ...
- 自学Python编程的第六天(最后代码有更好的请告诉我)----------来自苦逼的转行人
2019-09-16-23:09:06 自学Python的第六天,也是写博客的第六天 今天学的内容是有关dict字典的用法 看视频加上练习,目前还没遇到有难点,但是感觉很不好的样子 没有难点以后突然出 ...
- 自学Python编程的第十一天----------来自苦逼的转行人
2019-09-21-23:00:26 今天看了很多博客网的博客,看完觉得自己的博客真的是垃圾中的垃圾 新手不知道怎样写博客,我也很想写好一篇能让人看的博客,但是目前水平不够 只能慢慢改,今天的博客还 ...
- 自学Python编程的第\七天----------来自苦逼的转行人
2019-09-17-23:09:48 今天学的内容是有关小数据池的,学的有点懵逼,感觉越来越难学了,但是得坚持下去 明天学习下一个课程时,感觉要跟不上,看来明天得先看好几遍今天的内容 不然肯定会听的 ...
- 自学Python编程的第五天(希望有IT大牛帮我看最下面的代码)----------来自苦逼的转行人
2019-09-15-15:40:24 今天没有学知识,是一个一周总结,把这一周学的知识总结一遍,然后把做过的练习题再做一遍 看是否还会有再出现同样的错误,而且还可以知道有哪些知识点没有掌握好,可以把 ...
- 自学Python编程的第四天----------来自苦逼的转行人
2019-09-14 21:15:24 今天是学习Python的第四天,也是写博客的第四天 今天的内容是有关'列表'.'元组'.'range'的用法 列表:增删改查.列表的嵌套 元组:元组的嵌套 ra ...
随机推荐
- docker swarm 集群搭建
创建一个集群 [vagrant@node1 ~]$ docker swarm init --advertise-addr 192.168.9.101 Swarm initialized: curren ...
- NodeJS包管理器之Yarn
一.安装yarn 首选必须先安装好NodeJS,之后可以去yarn官网下载mis安装程序安装.由于NodeJS自带了一个包管理器npm,所以安装yarn更简单的方法是直接使用npm install - ...
- java.lang.ClassNotFoundException: com.*.*.entity.time.Q*
@Entity 实体类 java.lang.ClassNotFoundException: com.*.*.entity.time.Q* 添加依赖 1.添加DSL依赖 <!--query dsl ...
- PHP7 引入的“??” 和“?:”的区别
<?php $array = [ 'a' => 1, 'b' => 2, 'c' => [], ]; $a = $array['c'] ?? 0; $b = $array['c ...
- Bootstrap Table 初始化设置
$('#ArbetTable').bootstrapTable({ url: '/Interface/GetData', //请求后台的URL(*) method: 'get', //请求方式(*) ...
- PAT-2019年冬季考试-甲级 7-4 Cartesian Tree (30分)(最小堆的中序遍历求层序遍历,递归建树bfs层序)
7-4 Cartesian Tree (30分) A Cartesian tree is a binary tree constructed from a sequence of distinct ...
- helm安使用
参照:https://juejin.im/post/5b6590afe51d4519962f02b1
- Mac下进入MySQL命令行
/usr/local/MySQL/bin/mysql -u root -p 其中,root为数据库用户名
- 关于C#编写x86与x64程序的分析
电脑硬件CPU可以分为x86与x64, x86的机器只能安装32位的操作系统,如XP, WIN7_86, x64的机器既可以安装32位的系统,又可以安装64位的系统,只是在x64的机器上安装32位的系 ...
- 打包工具Gradle
Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML.当前其支持的语言 ...