学习笔记8

集合
set(集合)和dict(字典)类似,但集合只有键,没有值,同样因为键不能重复,所以集合内没有重复的元素。 键为不可变类型,可哈希。
创建一个空集合只能用s=set(),s={}只能创建空字典。
创建集合用花括号把所有元素括起来就行,元素之间用逗号相隔。集合内的重复元素会自动被过滤。
使用set(value)函数,可以把字符串,列表,或元组转换为集合。
集合有两个特点,无序和唯一。
集合不能索引也不能切片,也不能通过键来获取集合中元素的值,但是可以判断元素是否在集合内。

  • set.add(elmnt)用来给集合添加元素。
  • set.update(set)把一个集合中的元素更新到另一个集合中,不同的添加,相同的忽略。
  • set.remove(item)用来移除集合中的指定元素。元素必须为集合内的元素,否则会报错。
  • set.discard(value)在移除元素时,若元素不存在不会报错。
  • set.pop()随机移除一个元素。
  • set.intersection(set1,set2…) = set1 & set2 返回两个集合的交集。
  • set.union(set1,set2…) = set1 | set2 返回两个集合的并集。
  • set.difference(set) = set1 - set2 返回集合的差集。
  • set.symmetric_difference(set) = set1 ^ set2 返回集合的异或,删除两个集合相同的元素,把两个集合不同的元素集合到一起。
  • set.issubset(set) = set1<=set2 判断集合是不是被其他集合包含,如果是则返回True,否则返回False。
  • set.issuperset(set) = set1>=set2 用于判断集合是不是包含其他集合,如果是则返回True,否则返回False.
  • set.isdisjoint(set)用于判断两个集合是不是不相交,如果是返回True,否则返回False.

python中有一个不能改变元素的集合的实现版本,类型名为frozenset,该类型能够进行集合的操作,只是不能改变集合。
练习题

  1. tuple1=(1,)
  2. set1=set()
    set2={“x”,“y”,“z”}
    set1.update(set2)
  3. list1=[“A”,“B”,“A”,“B”]
    set1=set(list1)
    list1=list(set1)
  4. set1={6,7,8}
    set2={7,8,9}
    set1 ^ set2
  5. set1={“A”,“B”,“C”}
    set2={“B”,“C”,“D”}
    times=0
    for i in set1:
    if i in set2:
    times+=1
    print(times)

序列

  • max(sub)返回序列中的最大值。 min(sub)返回序列中的最小值。
  • sum(iterable[,start=0])返回序列与可选参数start的总和。
  • sorted()对序列进行排序。
  • reversed(seq)反转序列。
  • enumerate(sequence,[start=0]) 将序列转换为一个索引序列,标出数据及数据下标。
  • zip()把元素打包成元组,用来节约内存,输出时可以用list()转换来输出为列表。

练习题

  1. max(list1) min(list1)
  2. sort 只能用在列表上,sorted()可以用在所有可迭代的对象上。sort是在原有的列表上修改,而sorted()则是返回一个新的迭代对象。
  3. sum(range(1,101))
  4. list1=[2,3,4,5]
    list2=[]
    for i in list1:
    list2.append(i**1/3)
    print(list2)
  5. list1=[“x”,“y”,“z”]
    list2=[1,2,3]
    list3=[]
    for i in range(0,3):
    s=(list1[i],list2[i])
    list3.append(s)
    print(list3)
    心得:原本我真的是无聊才去参加这个活动,但是我感觉我真的在每天的坚持学习,记笔记中学到了许多知识。相信到最后我一定会收获很大。 & _ &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值