补充内容,set

列表转换字符串 join()

s = '_'.join(['beijing','shanghai','guangzhou'])

字符串转换成列表 split()

s1 = '北京,上海,广州'.split(',')

d = {'中国':'北京','美国':'华盛顿','日本':'东京','英国':'伦敦'}
L = []
for k in d:
    L.append(k)
for i in L:
    d.pop(i)
print(d)

 

 

l = ['北京','上海','广州','a','b','深圳']
new_l = []
for i in l:
    new_l.append(i)
for i in new_l:
    l.remove(i)
删除的时候, 发现. 剩余了一下内容. 原因是内部的索引在改变.
# # 需要把要删除的内容记录下来. 然后循环这个记录. 删除原来的列表
 
d = {'中国':'北京','美国':'华盛顿','英国':'伦敦','日本':'东京'}
l = []
for k in d:
    l.append(k)
for i in l:
    d.pop(i)
print(d)

列表和字典都不能再循环的时候进行删除. 字典再循环的时候不允许改变大小

 

# dic = {"apple":"苹果", "banana":"香蕉"}
# # 返回新字典. 和原来的没关系
# ret = dic.fromkeys("orange", "橘子") # 直接用字典去访问fromkeys不会对字典产生影响
# ret = dict.fromkeys("abc",["哈哈","呵呵", "吼吼"]) # fromkeys直接使用类名进行访问
# print(ret)
a = ["哈哈","呵呵", "吼吼"]
ret = dict.fromkeys("abc", a) # fromkeys直接使用类名进行访问
a.append("嘻嘻")
print(ret)

列表转换成集合,去重复
请输入代码

set本身是可变的数据类型,不可哈希(可变的),有增删改查等操作,集合中的元素必须是可哈希的(不可变的),不重复的

请输入代码

 

 

浅拷贝,只赋值,没有创建新对象   [:]    .copy()

l = ['火星','木星','水星','土星','地球']
l2 = l[:] #浅拷贝
l2 = l.copy() #浅拷贝

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

posted @ 2018-08-04 21:30  oecig  阅读(120)  评论(0)    收藏  举报