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,而不是在原来的基础上进行的操作

原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/9620115.html