知识点补充 set 深浅拷贝

一 对前面知识点的补充

1.str中的join()方法是将列表转换成字符串

lst = ["韩雪","赵丽颖","黄渤","李连杰"]
print("_".join(lst))      # 韩雪_赵丽颖_黄渤_李连杰

将每个元素用_进行拼接

s = "马化腾"
print("-".join(s))    # 马-化-腾

2.把字符串转换成列表  用split()

ss = "高华新**刘清扬**崔园樟"
print(ss.split("**"))

3.列表和字典在循环的时候不能直接删除,需要把删除的内容记录在一个新的列表中,然后再循环新列表,删除列表或字典,字典在循环的时候不允许改变大小

lst = ["1","2","3","4"]
new_lst = []
for el in lst:
    new_lst.append(el)
for e in new_lst:
    lst.remove(e)
print(lst)           #[]
print(new_lst)       #[‘1‘, ‘2‘, ‘3‘, ‘4‘]

删除姓张的人

lst = ["张艺","张二","张三","张四","王五"]
lst1 = []
for el in lst:
    if el.startswith("张"):
        lst1.append(el)
for e in lst1:
    lst.remove(e)
print(lst)
print(lst1)

4.fromkeys()   返回新字典和原来的字典没关系      后面的value,是多个key共享一个value

dic = {"apple":"苹果","banana":"香蕉"}
ret = dic.fromkeys("orange","橘子")
print(ret)    # {‘o‘: ‘橘子‘, ‘r‘: ‘橘子‘, ‘a‘: ‘橘子‘, ‘n‘: ‘橘子‘, ‘g‘: ‘橘子‘, ‘e‘: ‘橘子‘}

直接用字典去访问fromkeys不会对字典产生影响

dic = {"apple":"苹果","banana":"香蕉"}
ret = dict.fromkeys("abc",["你是","坏蛋"])
print(ret)

fromkeys直接使用类名去使用
二 set集合

特点:不重复,无序,元素必须是可哈希(不可变)

set就是字典类型的数据,不保存value,只保存key,set也用{}来表示  set本身是不可哈希的,set是可变的有增删改查操作

作用:去重复

frozenset() 可冻结的集合  可哈希的  是不可变的

三 深浅拷贝

1.赋值操作:没有创建新对象,两个指向的是同一地址

2.浅拷贝:只拷贝第一层内容.  [:]    copy()   创建了新对象

3. 深拷贝:把这个对象的内容全部拷贝一份,引入copy模块,deepcopy()

原文地址:https://www.cnblogs.com/sypx/p/9415370.html

时间: 2024-10-08 15:38:03

知识点补充 set 深浅拷贝的相关文章

python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "?海峰", "刘嘉玲"] s = "_".join(li) print(s) li = "?花?闺?" s = "_".join(li) print(s) 列表: 循环删除列表中的每?个元素 li = [11, 22, 33, 44] for e in li: li.remove(e) print(li

Python入门基础(第5天):基本数据知识补充和深浅拷贝

1.基本类型知识补充 (1)join( )  使用方法 # 将列表转换成字符串,每个元素之间用_拼接(可自定拼接字符) lst="-".join(["何东洋","he","5225"]) print(lst) # 字符串转换成列表用:split("分隔符") # 列表转换成字符串用:join("[内容]") ss="小何**晓东**假如" #字符串 print(ss.

巨蟒python全栈开发-第7天 基本数据类型补充&深浅拷贝

1.基本数据类型补充 2.深浅拷贝 DAY5-基本数据类型(基本数据类型补充&深浅拷贝) 本节主要内容: 1 (1)#1.'''#字符串是不可变的数据类型lst=['alex','dsb','wusir','xsb']#大烧饼,小烧饼s='_'.join(lst) #使用前面的字符串,对后面的列表进行拼接,拼接的结果是一个字符串print(s)'''(2)'''#split() 根据你给的参数进行切割,切割的结果是列表 s='alex_dbs_wusir_xsb'lst=s.split("

深浅拷贝 知识点补充

深浅拷贝 lst1 = ["金毛狮王", "紫衫龙王", "白眉鹰王", "青翼蝠王"] lst2 = lst1 print(lst1) print(lst2) lst1.append("杨逍") print(lst1) print(lst2) 结果: ['金毛狮王', '紫衫龙王', '白眉鹰王', '青翼蝠王', '杨逍'] ['金毛狮王', '紫衫龙王', '白眉鹰王', '青翼蝠王', '杨逍']

3.python基础补充(集合,collection系列,深浅拷贝)

一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set.作

python深浅拷贝,集合以及数据类型的补充

1.基础数据类型的补充 1.元组 如果元组中只有一个数据,且没有逗号,则该'元组'与里面的数据的类型相同.如: 1 tu = (1) 2 tu1 = (1,) 3 tu2 = ('alex') 4 tu3 = ([1,2,3],) 5 print(tu,type(tu)) # 1 <class 'int'> 6 print(tu1,type(tu1)) # (1,) <class 'tuple'> 7 print(tu2,type(tu2)) # alex <class 's

深浅拷贝和基础类型补充

1. 基础数据类型补充 大多数的基本数据类型的知识.已经学完了 join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. 得到的是字符串 split() 切割. 切割的结果是列表 列表和字典: 都不能在循环的时候直接删除 把要删除的内容记录在新列表中然后循环这个新列表. 删除列表(字典) fromkeys() 坑1: 返回新字典. 不会更改老字典 坑2: 当value是可变的数据类型. 各个key

函数知识点 1.包 2.hashlib模块 --- 摘要算法模块 3.logging模块 4.openpyxl模块 5.深浅拷贝 # 17

函数知识点1.包 1 # coding(编码系统):utf-8 2 """ 3 1.模块的三种来源: 4 1.内置 5 2.第三方 6 3.自定义 7 2.模块的四种表现形式: 8 1. .py文件 9 2.共享文件 10 3.包 11 4.内置 12 3.研究模块和包: 13 # 还可以站在另外两个角度分析: 14 1.模块的开发者 15 2.模块的使用者 16 4.导模块的那一瞬间发生了什么? 17 首先运行执行文件run.py,创建一个run.py的名称空间 18 1.

Python-Day3知识点——深浅拷贝、函数基本定义、内置函数

一.深浅拷贝 import copy #浅拷贝 n1={'k1':'wu','k2':123,'k3':['carl',852]} n2=n1 n3=copy.copy(n1) print(id(n1)) print(id(n2)) print(id(n3)) print(id(n1['k3'])) print(id(n3['k3'])) #深拷贝 n4=copy.deepcopy(n1) print(id(n4)) print(id(n1['k3'])) print(id(n4['k3']))