• day10


    ''' 
    一.关系运算
      有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
      pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
      linuxs={'wupeiqi','oldboy','gangdan'}
      1. 求出即报名python又报名linux课程的学员名字集合
      2. 求出所有报名的学生名字集合
      3. 求出只报名python课程的学员名字
      4. 求出没有同时这两门课程的学员名字集合   
    
    二.去重
       1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
    
       2.在上题的基础上,保存列表原来的顺序
    
       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'},
    ]  
    '''
    
    # 一.关系运算
    #   有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
    #   pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    #   linuxs={'wupeiqi','oldboy','gangdan'}
    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']
    new_list = list(set(l))
    print(new_list)
    '''
    
    #    2.在上题的基础上,保存列表原来的顺序
    '''
    l = ['a', 'b', 1, 'a', 'a']
    new_list = []
    for line in l:
        if line not in new_list:
            new_list.append(line)
    
    print(new_list)  # ['a', 'b', 1]
    '''
    
    #    3.去除文件中重复的行,肯定要保持文件内容的顺序不变
    '''
    new_list = []
    # 1) 通过文件将文件中的每一行数据取出来
    with open('file.txt', 'r', encoding='utf-8') as f:
        for line in f:
            # print(line)
            # 2)通过new_list给文件中的数据做去重,并且保证原来的位置
            if line not in new_list:
                new_list.append(line)
    print(new_list)
    # 3) 将去重后的数据,重新写入当前file.txt文件中
    with open('file.txt', 'w', encoding='utf-8') as f:
        for line in new_list:
            f.write(line)
    '''
    
    # 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_list = []
    
    for dic in l:
        print(dic)
    
        if dic not in new_list:
            new_list.append(dic)
    
    print(new_list)
    '''
  • 相关阅读:
    信创
    Tuxedo 学习记录
    独立软件开发商
    将博客搬至CSDN
    《Java从入门到放弃》JavaSE入门篇:网络编程(入门版)
    《Java从入门到放弃》JavaSE入门篇:练习——单身狗租赁系统
    《Java从入门到放弃》JavaSE入门篇:JDBC(入门版)
    《Java从入门到放弃》JavaSE入门篇:文件操作
    《Java从入门到放弃》JavaSE入门篇:单元测试
    《Java从入门到放弃》JavaSE入门篇:异常
  • 原文地址:https://www.cnblogs.com/2722127842qq-123/p/13449107.html
Copyright © 2020-2023  润新知