集合练习

# 一.关系运算
#   有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
#   1. 求出即报名python又报名linux课程的学员名字集合
print(pythons & linuxs)
#   2. 求出所有报名的学生名字集合
print(pythons | linuxs)
#   3. 求出只报名python课程的学员名字
print(pythons-linuxs)
#   4. 求出没有同时这两门课程的学员名字集合
print(pythons ^ linuxs)
#
# 二.去重
#    1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
l=['a','b',1,'a','a']
l = list(set(l))
print(l)
#    2.在上题的基础上,保存列表原来的顺序
l=['a','b',1,'a','a']
new_l = []
for i in l:
    if i not in new_l:
        new_l.append(i)
l = new_l
print(l)

#    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'},
]
new_l = []
for i in l:
    if i not in new_l:
        new_l.append(i)
l = new_l
print(l)
原文地址:https://www.cnblogs.com/zhubincheng/p/12483296.html