str中的join方法; set集合;深浅拷贝
一.str中的join方法
1,用join可以吧列表转换为字符串
- 将列表转换成字符串. 每个元素之间用_拼接
- s = "_". join(['德玛', ''赵信'', '易'])
- print(s) # ''德玛_赵信_易''
- 字符串转换成列表: split()
把列表转换成字符串: join()- 只要是可迭代对像就可以用join
- lst = ["紫云", "大云", "玉溪", "紫钻","a","b"]
- lst.clear()
- print(lst) # ['大云', '紫钻', 'b']
- # # 删除的时候, 发现. 剩余了一下内容. 原因是内部的索引在改变.
- # # 需要把要删除的内容记录下来. 然后循环这个记录. 删除原来的列表
- new_lst = [] # 准备要删除的信息
- for el in lst: # 有一个变量来记录当前循环的位置
- new_lst.append(el)
- # 循环新列表, 删除老列表
- for el in new_lst:
- lst.remove(el)
- print(lst)
list和dict在循环的时候不能直接删除,循环的时候会改变索引删不干净.
- lst = ['张国荣', '张铁林', '张国立', '张曼玉', '汪峰']
- #删掉姓张的
- #记录姓张的
- zhangs = []
- for el in lst:
- if el.startswith('张'):
- zhangs.append(el)
- for el in zhangs:
- lst.remove(el)
- print(lst)
- print(zhangs)
- #字典
- dic {'提莫': '冯提莫', '发姐': '陈一发儿', '55开': '卢本伟'}
- # dic.clear()
- lst = []
- for k in dic:
- lst.append(k)
- for el in lst:
- dic.pop(el)
- print(dic)
综上. 列表和字典都不能再循环的时候进行删除. 字典在循环的时候不允许改变大小
二.fromkeys :
描述
Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
语法
fromkeys()方法语法:
- dict.fromkeys(seq[, value])
示例:
- dic = {"apple":"苹果", "banana":"香蕉"}
- # 返回新字典. 和原来的没关系
- # ret = dic.fromkeys("orange", "橘子") # 直接用字典去访问fromkeys不会对字典产生影响
- ret = dict.fromkeys("abc",["哈哈","呵呵", "吼吼"]) # fromkeys直接使用类名进行访问
- print(ret) # {'a': ['哈哈', '呵呵', '吼吼'], 'b': ['哈哈', '呵呵', '吼吼'], 'c': ['哈哈', '呵呵', '吼吼']}
- a = ["哈哈","呵呵", "吼吼"]
- ret = dict.fromkeys("abc", a) # fromkeys直接使用类名进行访问
- a.append("嘻嘻")
- print(ret) # {'a': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'b': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'c': ['哈哈', '呵呵', '吼吼', '嘻嘻']}
三,集合
特点:
无序, 不重复, 元素必须可哈希(不可变)
作用:
去重复
本身是可变的数据类型. 有增删改查操作.
frozenset()冻结的集合. 不可变的. 可哈希的
- # 集合本身是可变的数据类型, 不可哈希, 有增删改查操作
- s = {"刘嘉玲", '关之琳', "王祖贤"}
- s.update("麻花藤") # 迭代更新
- print(s)
- # 集合中的元素必须是可哈希的. 不重复的. 可以去重. 哈希hash算法
四, 深浅拷贝
1. 赋值. 没有创建新对象. 公用同一个对象
2. 浅拷贝. 拷贝第一层内容. [:]或copy()
3. 深拷贝. 拷贝所有内. 包括内部的所有.把这个对象内部的内容全部拷贝一份. 引入copy模块. deepcopy()
str中的join方法; set集合;深浅拷贝的更多相关文章
- str中的join方法,fromkeys(),set集合,深浅拷贝(重点)
一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天",& ...
- set集合深浅拷贝以及知识补充
一. 对之前的知识点进行补充. 1. str中的join方法. 把列表转换成字符串 li = ["李嘉诚", "麻花藤", "黄海峰", & ...
- jQuery中的join方法
和JS 中的JOIN 方法一样,将一数组按照JOIN的参数连接起来.比如: var arr = [ "a", "b", "c", " ...
- Java多线程中的join()方法
一.join()方法介绍 join() 定义在Thread.java中.join()方法把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的join( ...
- Java并发编程--多线程中的join方法详解
Java Thread中, join()方法主要是让调用该方法的thread在完成run方法里面的部分后, 再执行join()方法后面的代码 例如:定义一个People类,run方法是输出姓名年龄. ...
- Thread类中的join方法
package charpter06; //类实现接口public class Processor implements Runnable { // 重写接口方法 @Override public v ...
- python学习打卡 day07 set集合,深浅拷贝以及部分知识点补充
本节的主要内容: 基础数据类型补充 set集合 深浅拷贝 主要内容: 一.基础数据类型补充 字符串: li = ["李嘉诚", "麻花藤", "⻩海峰 ...
- 6.Python初窥门径(小数据池,集合,深浅拷贝)
Python(小数据池,集合,深浅拷贝) 一.小数据池 什么是小数据池 小数据池就是python中一种提高效率的方式,固定数据类型,使用同一个内存地址 小数据池 is和==的区别 == 判断等号俩边的 ...
- Python基础知识(六)------小数据池,集合,深浅拷贝
Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : 一个文 ...
随机推荐
- python grpc
pip install grpcio pip install grpcio-tools python -m grpc_tools.protoc -I. --python_out=. --grpc_py ...
- go cobra
https://github.com/spf13/cobra https://github.com/spf13/cobra/blob/master/bash_completions.md go get ...
- UsePass & GrabPass
[UsePass] The UsePass command uses named passes from another shader. [Syntax] UsePass "Shader/N ...
- Kafka如何保证数据不丢失
Kafka如何保证数据不丢失 1.生产者数据的不丢失 kafka的ack机制:在kafka发送数据的时候,每次发送消息都会有一个确认反馈机制,确保消息正常的能够被收到,其中状态有0,1,-1. 如果是 ...
- python的 pep8 规范(看完你会感谢我的!!!)
1 缩进与换行 每级缩进使用四个空格 2 限制每行的最大长度为79个字符 3 空行 顶层函数和类之间使用两个空行 类的方法之间用一个空行 在函数中使用空行表示不同逻辑段落 4 导入位于文件的顶部 5 ...
- 【LA 3989 训练指南】女士的选择 【稳定婚姻问题】
我们先来学一下稳定婚姻问题 什么是稳定婚姻问题? 有n个女士和n个男士,他们要一一进行配对.每个男士心中对这n个女士都有一个排名,同理,每个女士心里对n个男性也有一个排名.我们要做的是,在他们配对完成 ...
- MonoBehaviour.print和Debug.Log是同样的作用
MonoBehaviour.print("identical------------------------");
- Opencv 发现轮廓 findContours
vector<vector<Point>> vec_p; vector<Vec4i> vec_4f; findContours(img_canny1, vec_p, ...
- Madgwick算法详细解读
Madgwick算法详细解读 极品巧克力 前言 接上一篇文章<Google Cardboard的九轴融合算法>. Madgwick算法是另外一种九轴融合的方法,广泛应用在旋翼飞行器上,效果 ...
- Boost智能指针使用总结
内存管理是一个比较繁琐的问题,C++中有两个实现方案: 垃圾回收机制和智能指针.垃圾回收机制因为性能等原因不被C++的大佬们推崇, 而智能指针被认为是解决C++内存问题的最优方案. 1. 智能指针定义 ...