zoukankan      html  css  js  c++  java
  • 17-list,字典使用练习

      randint(a,b)包括 [a,b]中随机, 包含a,b

      range(n)= 0,1,2,3....n-1

      chr() 数字转字符:

        chr(65) 得到 :A

      ord()字符转数字:

         ord('a') 得到:97

    ys = [random.randint(1,2) for i in range(10)] #产生1~2
    print(ys)
    
    x = range(5)
    print(list(x)) #0,1,3,4 

      

    随机生成一些字符,并存入list里面:

    import random
    def getRandCharList(n, f):
        # n为所需随机序列的长度,f=1为只要大写,f=2为大写加小写,f=3为再加上数字
        
        a = [ chr(i+65) for i in range(26)] #'A'-'Z'的顺序序列
        b = [ chr(i+97) for i in range(26)] #'a'-'z'的顺序序列
        c = [  i for i in range(10)]        #0-9的顺序序列  
        c = a + b + c
        if f == 1: 
            rt = [ c[random.randint(0,25)] for i in range(n)]
        elif f == 2:
            rt = [ c[random.randint(0,51)] for i in range(n)]
        else:
            rt = [ c[random.randint(0,61)] for i in range(n)]
        return rt
    
    rt = getRandCharList(100,3)
    print(rt)

     统计一片英文文章里面的字母出现次数:

    def tongji(path):
        # 传入文件所在地址,统计文件内大小写字母的个数,按次数降序返回list
        with open(path, 'rb') as f:
            str = f.read().decode('utf-8')
    
        d = [ chr(i+65) for i in range(26)] #'A'-'Z'的顺序序列
        x = [ chr(i+97) for i in range(26)] #'a'-'z'的顺序序列
        mychar = x + d
        dist = {}
        for i in range(52):
            dist[mychar[i]] = 0
        for i in str:
            if (i >= 'a' and i <= 'z') or (i >= 'A' and i <= 'Z'):
                dist[i] = dist[i] + 1
        dist = sorted(dist.items(), key = lambda x:x[1], reverse = True ) #sorted返回新对象
        return dist
    
    #filepath = 'C:\Users\sss\Desktop\ys.txt';
    filepath = 'ys.txt'
    tj = tongji(filepath);
    #print(tj)
    ct = 0
    for k,v in tj:
        if v > 0:
            ct = ct + 1
            print(k,': ', v)
    print("ct: ", ct)

      

    字典排序:

    sorted(dict.items(), key=lambda e:e[1], reverse=True)

    Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。

    语法
    items()方法语法:

    dict.items()

    lambda:

    lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:

    def f(x):
    return x**2
    print f(4)

    Python中使用lambda的话,写成这样

    g = lambda x : x**2
    print g(4)

    Python sorted() 函数:

    sorted() 函数对所有可迭代的对象进行排序操作。

    sort 与 sorted 区别:

    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

    list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作

  • 相关阅读:
    PAT 1010. 一元多项式求导 (25)
    PAT 1009. 说反话 (20) JAVA
    PAT 1009. 说反话 (20)
    PAT 1007. 素数对猜想 (20)
    POJ 2752 Seek the Name, Seek the Fame KMP
    POJ 2406 Power Strings KMP
    ZOJ3811 Untrusted Patrol
    Codeforces Round #265 (Div. 2) 题解
    Topcoder SRM632 DIV2 解题报告
    Topcoder SRM631 DIV2 解题报告
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/9620115.html
Copyright © 2011-2022 走看看