随机产生密码本并加密:
import random
alphabet = 'a,b,c,d,e'
base = alphabet.split(',')
target = base.copy()
random.shuffle(target)
print(target)
cipher = dict()
for i in range(len(base)):
cipher[base[i]] = target[i]
a = input('输入')
new = ''
for i in a:
new = new + cipher.get(i,i)
print(new)
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
python3中,map函数返回的是一个map对象,需要list(map(fun,itor))来将映射之后的map对象转换成列表
>>> def square(x) : # 计算平方数
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
<map object at 0x100d3d550> # 返回迭代器
>>> list(map(square, [1,2,3,4,5])) # 使用 list() 转换为列表
[1, 4, 9, 16, 25]
Python中的三目运算符:
为真时的结果 if 判断条件 else 为假时的结果(没有冒号)
x = x+1 if x%2==1 else x
列表推导式:[i for i in range(10)] 返回这样一个列表[0,1,2,3,4,5,6,7,8,9]
list包含数字,不能直接转化成字符串。
解决办法:print(" ".join('%s' %id for id in list1))
即遍历list的元素,把他转化成字符串。
python中[]代表列表
{}代表字典
()代表元组可以利用序列操作对元组进行处理,但不可更改,即创建之后不能修改添加删除成员
python中set()函数可删除重复元素,返回新的集合对象。
>x = set('runoob')
>>> y = set('google')
>>> x, y
(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l'])) # 重复的被删除
二维列表a = [[1,2],[3,4]]
输出二维列表中的所有元素:
for i in a:
print(i[0],i[1])
python中sorted函数用来排序,若第一个条件相同,则按照第二个条件排序(默认升序)
1. 按照元组/列表的第一个从小到大排序
2. 如果第一个相同 则按照元组第2个从大到小 排序
a = [[2,3],[4,1],(2,8),(2,1),(3,4)]
b = sorted(a,key=lambda x: (x[0], -x[1]))
print b
pythonsplit函数切割后返回一个列表
python中数一个字符串中某个字符出现次数:a.count(b)
在python里面,0、’’、[]、()、{}、None为假,其它任何东西都为真。
对于and,如果没有假值,返回的是最后一个真值,如果有假值,则返回的是第一个假值。
对于or,如果没有真值,返回的是最后一个假值,如果有真值,则返回的是第一个真值。
在python3里’/‘的除法的结果会转换成float类型,而float在python里有最大值,而int理论上没有最大值,因此我们可以采用Floor除法’//’,它返回值是int类型。(a//b)
python中index() 函数用于从列表中找出某个值第一个匹配项的索引位置。list = [1,2,3]
list.index('1') 返回值为查找对象的索引位置,为0
“+”在python中有两个作用,一个是数学运算符,是用来在整型、浮点型等数学之间进行加法操作的。另一个是用来进行字符串连接的。所以当你的“+”出现在即有数学运算和字符连接的情况下,计算机根本不知道哪两个是要进行字符串连接,哪两个之间要进行数学运算。
所以若想打印1+2=3,则要print(str(1)+'+'+str(2)+'='+str(3))
python中Counter函数用法:
from collections import Counter
a = [1,2,3,4,1,2,3]
b = Counter(a) #求数组中每个数字出现了几次
对字符串\列表\元祖\字典进行计数,返回一个字典类型的数据,键是元素,值是元素出现的次数
print(a.most_common(3))
# 结果
[('l', 5), ('o', 4), ('h', 3)] 出现次数最多的三个元素
most_common(n) (统计出现最多次数的n个元素)
dict = {2:3}
dict.items() 返回一个列表dict_items([2,3])
python中enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three