一.关系运算
有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
1. 求出即报名python又报名linux课程的学员名字集合
a=pythons&linuxs
print(a)
2. 求出所有报名的学生名字集合
b=pythons|linuxs
print(b)
3. 求出只报名python课程的学员名字
c=pythons-linuxs
print(c)
4. 求出没有同时这两门课程的学员名字集合 ················
d=pythons^linuxs
print(d)
二.去重
1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
l=['a','b',1,'a','a']
set1=set(l)
l2=list(set1)
print(l2)
2.在上题的基础上,保存列表原来的顺序
l1=[]
l=['a','b',1,'a','a']
for i in l:
if i not in l1:
l1.append(i)
print(l1)
3.去除文件中重复的行,肯定要保持文件内容的顺序不变
4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'}]
l1=[]
for i in l:
if i not in l1:
l1.append(i)
print(l1)