admin管理员组文章数量:1122850
列表的join方法,类方法formkeys,删除,集合,深浅拷贝赋值,冒泡排序
#列表join方法
lst = ["汪峰", "吴君如", "李嘉欣", "陈慧琳", "关之琳"]
# 遍历列表. 把列表中的每一项用"_" 做拼接
s = "_".join(lst) # 把列表转化成字符串
print(s)s1 = "汪峰_吴君如_李嘉欣_陈慧琳_关之琳"
ls = s1.split("_") # 把字符串转化成列表
print(ls)print("*".join("马化腾"))#2 关于删除
lst = ["渣渣辉", "古天绿", "陈小春", "彭佳慧", "郑中基", "胡辣汤"]
# lst.clear()
# for el in lst: # for 内部有一个变量来记录当前被循环的位置, 索引.
# lst.remove(el) # 直接删除. 是删不干净的. 原因是每次删除都设计到元素的移动. 索引在变.# 先把要删除的内容保存在一个新列表中. 循环这个新列表. 删除老列表
new_lst = []
for el in lst:new_lst.append(el)
for el in new_lst:lst.remove(el)
print(lst)lst = ["张无忌", "张三丰", "张翠山", "张嘉译", '刘嘉玲', "刘能", '刘老根']
# 删除姓张的人
new_lst = []
for el in lst:if el.startswith("张"):new_lst.append(el)for el in new_lst:lst.remove(el)
print(lst)dic = {"谢逊": '金毛狮王', "韦一笑":"青翼蝠王","殷天正":"白眉鹰王","金花婆婆":"紫衫龙王"}
for k in dic:dic['谢逊'] = "张无忌他爹"
print(dic)#3 类方法formkeys
d = {}
# fromkeys正常来说应该是类名来访问的.
dd = d.fromkeys(["胡辣汤","are you 确定?"], "周芷若") # fromkeys是一个类方法.作用是创建新字典
print(d) # 原字典没有改变
print(dd) # 新的字典是通过第一个参数的迭代. 和第二个参数组合成key:value创建新字典d = dict.fromkeys(["哇哈哈", "爽歪歪"], []) # 所有的key用的都是同一个列表,改变其中一个。 另一个也跟着改变
d["哇哈哈"].append("张无忌")
print(d)print(id(d['哇哈哈']), id(d["爽歪歪"]))#4 集合
dic = {"a":"哇哈哈", "a":"爽歪歪"}
print(dic) # key 不会重复
dic[[1,2,3]] = "哇哈哈" # 必须是可哈希的s = set() # 空集合
s = {1,2,3,6,3,4,6,4, [4,5,6]} # 不重复, 必须是可哈希的
print(s)# set其实就是不存value的字典. 只存key
# 去重复
lst = [1,2,3,4,4,4,4,5,5,6,7,7,7]
s = set(lst)
lst = list(s)
print(lst)s = {"赵本山", "范伟", "小沈阳", "高秀敏", "宋小宝"}
s.add("赵铁柱")
s.add("李小花")
s.add("王尼玛")
s.add("张全蛋")
print(s)s.update(("刘伟", '张伟', "张三丰")) # 迭代更新# item = s.pop()
s.remove("小沈阳")
print(s)
# print(item)#5 深浅拷贝
lst1 = ["太白","日天","哪吒","银王","金王"]
lst2 = lst1
lst1.append("女神")
print(id(lst1))
print(id(lst2))lst1 = ["太白","日天","哪吒","银王","金王"]
# lst2 = lst1[:] # 创建了新列表
lst2 = lst1.copy() # 会创建新对象, 创建对象的速度会很快.
lst1.append("女神")
print(lst1)
print(lst2)lst1 = ["太白","日天",["盖浇饭", "锅包肉", "吱吱冒油的猪蹄子"],"哪吒","银王","金王"]
lst2 = lst1.copy() # 会创建新对象, 创建对象的速度会很快.
# lst1[2].append("油泼扯面")
print(id(lst1[2]), id(lst2[2]))# 导入拷贝模块
import copy
lst1 = ["太白","日天",["盖浇饭", "锅包肉", "吱吱冒油的猪蹄子"],"哪吒","银王","金王"]
lst2 = copy.deepcopy(lst1)
print(id(lst1[2]), id(lst2[2]))# 赋值没有创建新对象。多个变量共享同一个对象
# 浅拷贝。 会创建新对象。 新的对象中里面的内容不会被拷贝
# 深拷贝。 创建一个一摸一样的完全新的对象。 这个对象延伸出来的内容也会跟着复制一份a = [1, 2]
a[1] = a
print(a[1])
冒泡排序
for i in range(len(lst)-1) #轮次for j in range(len(lst)-1-i)#len(lst)-1是防止j+1下标溢出.每轮比较次数if lst[j]>lst[j+1]:lst[j],lst[j+1]=lst[j+1],lst[j]
转载于:.html
本文标签: 列表的join方法类方法formkeys删除集合深浅拷贝赋值
版权声明:本文标题:列表的join方法,类方法formkeys,删除,集合,深浅拷贝赋值,冒泡排序 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1688159142a186329.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论