zoukankan      html  css  js  c++  java
  • 【376】COMP 9021 相关笔记(二)

    Note_01

    • zip()
    • itertools.zip_longest()
    • %time

    Note_02

    • for 循环单行输出
    • list 技巧
    • 迭代器
    • 生成器
    • map()
    • zip()

    from pathlib import Path
    Path.glob:可以用来查询文件名

    import csv
    csv.reader:用来读取csv文件,每一行都是一个tuple

    from collections import defaultdict
    defaultdict(int):默认为0
    defaultdict(list):默认为空表 []

    # 通过字典来调用变量
    aa = 'alex'
    bb = 'brandon'
    c = {'a':aa, 'b':bb}
    c['a'][:2]
    

      

    # 通过 print 方式写入数据
    # 直接遍历 open 后的文件读取每行信息
    
    import csv
    for file in names_dir.glob('*.txt'):
        with open(file) as name_file, 
             open(npg_males / file.name, 'w') as males_file, 
             open(npg_females / file.name, 'w') as females_file:
            for line in name_file:
                name, gender, count = line.split(',')
                if gender == 'F':
                    print(name, count, sep = ',', end = '', file = females_file)
                else:
                    print(name, count, sep = ',', end = '', file = males_file)
    

      

    zip 高阶应用

    说明:将 a 排序,然后按照 a 的排序规则,将 b 中的所有元素进行相应排序

    a = ['B', 'A']
    b = [[1, 0], [0, 1], [1, 2]]
    
    print(list(list(zip(*sorted(zip(a, *b))))[0]))
    print(list(zip(*sorted(zip(a, *b))))[1:])
    
    output:
    ['A', 'B']
    [(0, 1), (1, 0), (2, 1)]
    

    实现过程拆解如下:

    a = ['B', 'A']
    b = [[1, 0], [0, 1], [1, 2]]
    
    tmp = zip(a, *b)
    
    tmp_list = list(zip(*sorted(tmp)))
    
    print(list(tmp_list[0]))
    print(tmp_list[1:])
    

      

      

  • 相关阅读:
    二十六、oracle pl/sql 分页
    二十五、oracle pl/sql进阶--控制结构(分支,循环,控制)
    二十四、oracle pl/sql 变量
    python笔记之字典
    python笔记之元祖
    python笔记之列表
    python笔记之字符串
    python笔记之数据类型
    python笔记之python基础
    在windows系统电脑上同时安装python2.x和python3.x版本
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/10448129.html
Copyright © 2011-2022 走看看