12.Python入门之集合

来源:互联网 发布:python获取当前函数名 编辑:程序博客网 时间:2024/06/06 17:58

一.集合概述



字典是映射的体现,而集合是字典的表亲,大括号括起数字,但不体现映射关系,就是集合.


>>>num1 = {}>>>type(num1)<class'dict'>>>>num2 = {1,2,3}>>>type(num2)<class 'set'>


集合关键字:唯一+大括号+无序


>>>num = {1,2,3,4,3,2,1}>>>num{1,2,3,4}  #清除重复数据>>>num[2]  #error,集合无序,无法去索引集合中的某一个元素

二.集合方法


2.1.两种创建集合的方法


第一种直接用大括号括起来,第二种使用set()方法


>>>set1 = {1,2}>>>set2 = set([1,2])>>>set1 == set2True


2.2.清除重复数据的两种方法


法一


>>>list1 = [1,2,3,2,0]>>>temp = list1[:]>>>list1.clear()>>>for each in temp:     if each not in list1:          list1.append(each)


法二


>>>list1 = [1,2,3,2,0]>>>list1 = list(set(list1)) #list()将可迭代对象转化为列表>>>list1[0,1,2,3]


法二注意点:在将无序的集合转化为列表时,不能保证原来列表顺序,所以法二不适用于要求列表处理前后顺序一致的情况


2.3.访问集合


无法通过索引读取,只能采用迭代方法把集合中的数据一个个读取出来


>>>set1 = {1,2,3,3,2,0}>>>for each in set1:     print(each,end='')0,1,2,3

in和not in判断是否在集合中


>>>0 in set1True>>>'xx' not in set1True

add()添加元素,remove()删除元素


>>>set1.add(6)>>>set1{0,1,2,3,6}>>>set1.remove(2)>>>set1{0,1,3,6}

三.不可变集合


设置集合不能增减元素,定义为不可变集合,使用frozenset()函数


>>>set1 = frozenset({1,2,3})>>>set1.add(6)  #error,增添元素时报错




原创粉丝点击