主要内容
复数,测试运算符 in,集合运算符,输出间隔符,排序与逆序,枚举与迭代 enumerate函数,map(),reduce(),filter(),range(),zip().
学校python课,随便记一记,方便复习省的期末白给
复数
定义
x = 3 + 4j
取模
abs(x)
虚部和实部
x.imag
x.real
共轭复数
x.conjugate()
测试运算符 in
用于测试对象是否是另一对象中的元素
3 in [1,2,3]
5 in range(1, 10, 1)
'abc' in 'abcdefg'
集合运算符
{1,2,3} | {3,4,5} #并
{1,2,3} & {3,4,5} # 交
{1,2,3} ^ {3,4,5}# 对称差集
{1,2,3} - {3,4,5} # 差集
输出间隔符
- s e p sep sep之前为输出内容
- s e p = sep = sep=用于调整间隔符,默认为空格
- e n d = end = end=为输出完数据之后再输出什么
排序与逆序
打乱
x = list(range(11))
import random
random.shuffle(x)
按长度排序,逆序
sorted(x, key = lambda item: len(str(item)), reverse = True)
reversed(x)
枚举与迭代 enumerate
e n u m e r a t e ( ) enumerate() enumerate()函数用来枚举可迭代对象中的元素
list(enumerate('abcd'))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
list(enumerate(['Python', 'Great']))
[(0, 'Python'), (1, 'Great')]
# 枚举字典中元素
list(enumerate({'a':97, 'b':98, 'c':99}.items()))
[(0, ('a', 97)), (1, ('b', 98)), (2, ('c', 99))]
# 枚举range对象中元素
for index, value in enumerate(range(10, 15)):
print((index, value), end = ' ')
(0, 10) (1, 11) (2, 12) (3, 13) (4, 14)
map()
m a p ( f u n c , i n d e x ) map(func, index) map(func,index)把 i n d e x index index中每个对象都进行一次 f u n c func func函数,然后把映射得到的对象作为结果
list(map(str, range(5)))
['0', '1', '2', '3', '4']
def add5(v):
return v + 5
list(map(add5, range(10)))
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
# 可定义多参数函数
def add(x, y):
return x + y
list(map(add, range(5), range(5, 10)))
[5, 7, 9, 11, 13]
reduce()
把一个参数为 2 2 2的函数累计迭代运算
from functools import reduce
seq = list(range(1, 10))
reduce(lambda x, y: x + y, seq)
45
相当于
第一次:
x
=
1
,
y
=
2
,
a
n
s
=
3
x = 1, y = 2, ans = 3
x=1,y=2,ans=3
第二次:
x
=
3
,
y
=
3
,
a
n
s
=
6
x = 3, y = 3, ans = 6
x=3,y=3,ans=6
第三次:
x
=
6
,
y
=
4
,
a
n
s
=
10
x = 6, y = 4, ans = 10
x=6,y=4,ans=10
…
filter()
将一个单参数函数作用到一个序列上,并把返回值为 T r u e True True的对象组成一个新的 f i l t e r filter filter对象
seq = ['foo', 'x41', '?!', '***']
def func(x):
return x.isalnum()
list(filter(func, seq ))
['foo', 'x41']
range()
range(start, end, step)
start默认为0,step默认为1,为左闭右开区间
zip()
把多个可迭代对象压缩到一起
list(zip('abcd', [1, 2, 3]))
[('a', 1), ('b', 2), ('c', 3)]
list(zip('123', 'abc', ',.!'))
[('1', 'a', ','), ('2', 'b', '.'), ('3', 'c', '!')]
x = zip('abcd', '1234')
list(x)
[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]