一.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集合;深浅拷贝的更多相关文章

  1. str中的join方法,fromkeys(),set集合,深浅拷贝(重点)

    一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天",& ...

  2. set集合深浅拷贝以及知识补充

    一. 对之前的知识点进行补充. 1. str中的join方法. 把列表转换成字符串 li = ["李嘉诚", "麻花藤", "黄海峰", & ...

  3. jQuery中的join方法

    和JS 中的JOIN 方法一样,将一数组按照JOIN的参数连接起来.比如: var arr = [ "a", "b", "c", " ...

  4. Java多线程中的join()方法

    一.join()方法介绍 join() 定义在Thread.java中.join()方法把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的join( ...

  5. Java并发编程--多线程中的join方法详解

    Java Thread中, join()方法主要是让调用该方法的thread在完成run方法里面的部分后, 再执行join()方法后面的代码 例如:定义一个People类,run方法是输出姓名年龄. ...

  6. Thread类中的join方法

    package charpter06; //类实现接口public class Processor implements Runnable { // 重写接口方法 @Override public v ...

  7. python学习打卡 day07 set集合,深浅拷贝以及部分知识点补充

    本节的主要内容: 基础数据类型补充 set集合 深浅拷贝 主要内容: 一.基础数据类型补充 字符串: li = ["李嘉诚", "麻花藤", "⻩海峰 ...

  8. 6.Python初窥门径(小数据池,集合,深浅拷贝)

    Python(小数据池,集合,深浅拷贝) 一.小数据池 什么是小数据池 小数据池就是python中一种提高效率的方式,固定数据类型,使用同一个内存地址 小数据池 is和==的区别 == 判断等号俩边的 ...

  9. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

随机推荐

  1. java算法 第七届 蓝桥杯B组(题+答案) 6.方格填数

    6.方格填数  (结果填空) 如下的10个格子 (如果显示有问题,也可以参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻) 一共有多少种可能的填数方案 ...

  2. Excel VBA入门(一)数据类型

    与其它的编程语言一样,VBA也有它自己的数据类型.讲到数据类型,就离不开"变量"与"常量"这两个概念,变量与常量,都是用于保存数据的.顾名思义,"变量 ...

  3. 实现把C语言编译成java字节码的编译器 一个将C语言编译成java字节码的实例

  4. 【LA3126 训练指南】出租车 【DAG最小路径覆盖】

    题意 你在一座城市里负责一个大型活动的接待工作.明天将有m位客人从城市的不同的位置出发,到达他们各自的目的地.已知每个人的出发时间,出发地点和目的地.你的任务是用尽量少的出租车送他们,使得每次出租车接 ...

  5. Nginx源码完全注释(8)ngx_errno.c

    errno.h中的strerror(int errno)可以确定指定的errno的错误的提示信息.在 Nginx 中,将所有错误提示信息预先存储在一个数组里,而预先确定这个数组的大小,是在自动化脚本中 ...

  6. Ros学习——movebase源码解读之amcl

    1.amcl的cmakelists.txt文件 add_executable(amcl  src/amcl_node.cpp) target_link_libraries(amcl amcl_sens ...

  7. Java基础知识常识总结

    Java基础知识常识总结 1.面向对象的特征以及对他的理解? 封装,继承,多态,如果再增加一条就是抽象. 2.Object有几种方法,分别是什么? 在JDK1.5中的11种方法,分别有: toStri ...

  8. 541. Reverse String II 指定翻转前k个的字符串

    [抄题]: Given a string and an integer k, you need to reverse the first k characters for every 2k chara ...

  9. chrome crx插件存档

    https://github.com/mdamien/chrome-extensions-archive

  10. loadrunner添加load generator连接失败解决办法

    1.到防火墙设置里面“允许程序和功能通过windows防火墙”,然后添加Loadrunner Agent Procss,到列表中,在“专用”和“公用”打勾,然后重启一下LR和Loadrunner Ag ...