set()函数建立一个无序不重复元素集,可进行关系测试,删除重复数据,还能够计算交集、差集、并集等。python
例题:数据结构
一、set函数求交集(&)、差集(-)、并集(|)app
s1 = set('here')
s2 = set('hello')
print(s1-s2)#差集
print(s1&s2)#交集
print(s1|s2)#并集函数
结果:测试
二、删除元素的重复项ui
(1)使用set函数spa
S = {"python","apple","123","123","a"} print(set(S))
运行结果:code
(一)、列表的概念对象
列表(list)是包含0个或者多个对象引用的有序序列,属于序列类型。与元组不一样,列表的长度和内容都是可变的,能够对列表的内容进行增长、删除或者替换。列表没有长度限制,元素类型也能够不一样,使用很是的灵活。列表中括号用[]表示,也能够经过list()函数将元组或字符串转化成列表。直接使用list()函数返回一个空列表。blog
(二)、列表的操做类型
列表是序列类型,下列将给出几种经常使用的函数或方法:
函数或方法 | 描述 |
ls[i]=x | 替换列表ls第i数据项为x |
ls[i:j]=lt | 用列表lt替换列表ls中i到j项数据 |
ls[i:j:k]=lt | 用列表lt替换列表ls中的第i到j项以k为步数的数据 |
del ls[i:j] | 删除列表中i到j项数据等价于ls[i:j]=[] |
del ls[i:j:k] | 删除列表中i到j项以k为步数的数据 |
ls+=lt或者ls.extend(lt) | 将列表lt中元素增长到列表ls中 |
ls*=n | 更新列表ls,元素重复n次 |
ls.append(x) | 在列表ls中最后增长一个元素x |
ls.clear() | 删除ls中的全部元素 |
ls.copy() | 生成一个新列表,复制ls中的全部元素 |
ls.insert(i,x) | 在列表ls中第i个位置增长x |
ls.pop(i) | 取出列表中的第i项元素,并删除该元素 |
ls.remove(x) | 将列表中第一个出现的x元素删除 |
ls.reverse(x) | 列表中的元素反转 |
代码分析:
list = ['apple','hello','q','ben','hello'] # 输出列表 print(list) # 替换列表中的第i项为x list[0]='fruit' print(list) # 用列表ls替换列表list中的第i到第j项数据 ls=['a','h','s'] list[0:2]=ls print(list) # 用列表ls替换列表list中的第i到j项以k为步数的数据 list[0:2:1]=ls print(list) # 删除列表中i到j项数据等价于ls[i:j]=[] del list[0:2] # list[0:2]=[] print(list) # 在列表ls中最后增长一个元素x list.append('d') print(list) # 删除ls中的全部元素 list.clear() print(list)
运行结果:
['apple', 'hello', 'q', 'ben', 'hello'] ['fruit', 'hello', 'q', 'ben', 'hello'] ['a', 'h', 's', 'q', 'ben', 'hello'] ['a', 'h', 's', 's', 'q', 'ben', 'hello'] ['s', 's', 'q', 'ben', 'hello'] ['s', 's', 'q', 'ben', 'hello', 'd'] []
一、列表ls=[2,5,7,1,6],请按照升序降序排列
ls = [2,5,7,1,6] # 升序 ls.sort() s1 = sorted(ls) # s1 = sorted(ls,reverse=False) print(ls) print(s1) # 降序 s2 = sorted(ls,reverse=True) print(s2)
二、ls1=[1,43],ls2=ls1,ls1[0]=22,计算并思考两列表的运行结果
ls1=[1,43] ls2=ls1 ls1[0]=22 print(ls1,ls2)
三、ls=[[2,3,7],[[3,5],25],[0,9]],求len(ls)
ls=[[2,3,7],[[3,5],25],[0,9]] print(len(ls))
四、从lst1中去除两个列表的交集元素
lst1 = set('there') lst2 = set('hello') lst = lst1&lst2 for x in lst: lst1.remove(x) print(lst1)
五、把lst1=[1,2,3,4]中的奇数位与lst2=[5,6,7,8]中的偶数位,求并集
lst1=[1,2,3,4] ls1 = [] ls2 = [] for x in lst1: if x%2 != 0: ls1.append(x) lst2=[5,6,7,8] for y in lst2: if y%2 == 0: ls2.append(y) S = list(set(ls1).union(set(ls2))) print(sorted(S))
以上5题目运行结果:
[1, 2, 5, 6, 7] [1, 2, 5, 6, 7] [7, 6, 5, 2, 1] [22, 43] [22, 43] 3 {'t', 'r'} [1, 3, 6, 8]
六、删除列表中的重复元素
lst1 = ['d','df','df'] lst2 = [] for x in lst1: if x not in lst2: lst2.append(x) print(lst2)
结果:
列表是一个十分灵活的数据结构,它具备处理任意长度、混合数据类型的能力,并提供了丰富的基础操做符和方法。