zoukankan      html  css  js  c++  java
  • 八丶回顾总结

    Python 元组字典回顾

    因为一些原因,已经有近一个月没有学Python了,今天开始回归!

    生成一个随机大写字符存入列表中

    • random模块生成随机数
    import random
    NUM = 10
    result_a = []
    for i in range(NUM):
        #生成65-91(不包括)的随机数
        num = random.randint(65,96)
        #随机数转成成字符`chr()`并添加到列表中
        result_a.append(chr(num))
    
    print (result_a)
    

    chr()函数可以将数字转换为字符

    • 列表推导式
    import random
    NUM = 10
    result_b = [chr(random.randint(65,96)) for i in range(NUM)]
    print(result_b)
    
    • numpy函数生成多个随机数(随机数矩阵)
    #numpy.random.randint()函数可生成一个随机数的矩阵,可生成多行、多列的随机数
    import numpy
    NUM = 10
    result_c = [chr(i) for i in numpy.random.randint(65,96,[NUM,1])]
    #这里[NUM,1]表示生成1行NUM个的随机数
    print(result_c)
    

    numpy模块需要单独安装pip install numpy;PyCharm中可以在配置中搜索numpy直接安装,比较方便

    列表元素去重(重复)

    • 新列表收集法
      原理:遍历源列表中的所有元素,若元素不在新列表中,就将元素添加到新列表中
      优点:可以保证元素的顺序
    #使用列表推导式来创建一个包含重复元素的列表
    import random
    new_list = []
    scr_list = [random.randint(15,25) for i in range(15)]
    NUM = len(scr_list)
    print(NUM)
    for i in scr_list:
        if i not in new_list:
            new_list.append(i)
    
    print(new_list)
    
    • set集合去重
      特点:set集合不允许存在重复的元素,所以若将列表元素传给set(),就会自动去重;结果是按元素大小进行排列且不再是列表所以需要list再转回来
    set_list = list(set(scr_list))
    print(set_list)
    
    • 使用itertools模块的groupby函数去重,该函数用于分组,会将相同的元素放在一组中
      注意:这种方法需要先对列表进行排序
      dir(itertools)下的函数;help(函数)查看具体函数的用法
    import itertools
    scr_list.sort()
    #使用itertools.groupby()对列表进行分组
    it_list = itertools.groupby(scr_list)
    #遍历所有组内的元素并返回,若元素相同则只返回一个
    for k,g in it_list:
        print(k,end=" ")
    
  • 相关阅读:
    ACM中java的使用
    hdu 1273最大流
    1066N !最右边非零数
    关于为什么要建退边的原因
    浅析指向指针的指针其作用
    poj 1860 bellman 求正环
    poj 3461
    poj 2031
    poj 1068
    strncpy的用法
  • 原文地址:https://www.cnblogs.com/mlcg/p/11343544.html
Copyright © 2011-2022 走看看