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函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:
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,而不是在原来的基础上进行的操作