python中set(集合),深浅拷贝以及一些补充知识点

1.set集合

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

  作用:去重复

  本身是可变的数据类型。有增删改查操作。{集合的增删改查操作应用较少,这里不做详细介绍了(这里的增有一个方法update注意这个是迭代添加)}

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

1 s = {"哈哈哈","嘿嘿嘿","呵呵呵"}
2 s1 = frozenset(s)
3 print(type(s1)) #<class 'frozenset'>

2.深浅copy

  1>赋值。没有创建新对象,公用同一个对象。

  2>浅copy。拷贝第一层内容,这第一层内容创建了新对象。

    方法:[:]或者copy()

  3.深copy。拷贝所有内容,包括内部的所有。

    方法:首先要引入copy模块

        import copy

        copy.deepcopy  

3.str中的join方法:

  str中的join方法,把列表转变成字符串。前面的str中的split(),是将字符串变成列表。

  join(可迭代对象)

4.列表和字典在循环的时候不能直接删除(字典在循环中是不能改变的),需要把删除的内容记录在新列表中,然后循环新列表,删除字典或列表。

1 lst = ["紫云", "大云", "玉溪", "紫钻","a","b"]
2 lst1 = []
3 for el in lst:
4     lst1.append(el)
5 for el in lst1:
6     lst.remove(el)
7 print(lst) #[]

5.fromkeys()

  dict.fromkeys(key,value)

  1>直接用类名(dict)调用

  2>返回新字典,对原字典没有影响

  3>后面的value是多个key共享一个value     在这个方法中的key是一个可迭代对象

1 a = ["哈哈","呵呵", "吼吼"]
2 ret = dict.fromkeys("abc", a) 
3 a.append("嘻嘻")
4 print(ret)
5 #{'a': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'b': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'c': ['哈哈', '呵呵', '吼吼', '嘻嘻']}

 

  

转载于:https://www.cnblogs.com/qq849784670/p/9414582.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值