python中的join.set ,copy以及删除注意事项:

1 ,join  :  将对象以字符串的方式拼接成一个整体

  for E :  li = ["李白", "是", "诗仙"]

      s = "_".join(li)

    print(s)

  >>>李白_是_诗仙

还原li :  li2 = s.split("_")

    print(li2)

  >>>["李白", "是", "诗仙"]

2 set集合:  python中集合以{} 括起来,集合中的元素必须可以哈希, 自动取重复元素, 排列无序,

 空集合创建

    se = set()

列表去重可以借助集合

      li = [1,1,1,3,4,6,5,4,7]

    li(set(li))

    print(li)

>>>[1,3,6,5,4,7]

3 .关于删除:

  循环迭代过程中的对象不能删除

删除列表: 创建新的列表,循环新列表,删除旧列表中需要删除的对象

字典 :  字典循环时,可以修改value ,不可新增和删除元素,不能改变其大小

dict.fromkeys(k,v)

将k循环迭代, 形成keys ,共享一个value v,创建出新字典:

 for E

    dic =   dict.fromkeys("abc",1)

    print(dic)

 >>> {"a": 1, "b": 1, "c": 1}

深浅拷贝:

赋值: 直接引用对象现有的对象

a = b ,a与b 的内存地址指向一样, 共享一个对象

浅拷贝:  会创建新的对象,拷贝对象本身,本身引用的对象依然共享

li1 = [1,2,[1]]

li2 = li1.copy()

li1[2].append(2)

print( li1)

print( li2)

>>> [1, 2, [1, 2]]

  [1, 2, [1, 2]]

深拷贝:  会创建新的对象,对象内容引用的对象也同时拷贝

import copy

li3 = copy.deepcopy(li2)

li1[2].append(3)

print(li1, li3)

>>> [1, 2, [1, 2,3]]

  [1, 2, [1, 2]]

猜你喜欢

转载自www.cnblogs.com/tcpblog/p/9630150.html