Python课程笔记1


主要内容

复数,测试运算符 in,集合运算符,输出间隔符,排序与逆序,枚举与迭代 enumerate函数,map(),reduce(),filter(),range(),zip().

学校python课,随便记一记,方便复习省的期末白给

复数

定义

1
x = 3 + 4j

取模

1
abs(x)

虚部和实部

1
2
x.imag
x.real

共轭复数

1
x.conjugate()

测试运算符 in

用于测试对象是否是另一对象中的元素

1
2
3
3 in [1,2,3]
5 in range(1, 10, 1)
'abc' in 'abcdefg'

集合运算符

1
2
3
4
{1,2,3} | {3,4,5} #并
{1,2,3} & {3,4,5} # 交
{1,2,3} ^ {3,4,5}# 对称差集
{1,2,3} - {3,4,5} # 差集

输出间隔符

  • sep 之前为输出内容
  • sep = 用于调整间隔符,默认为空格
  • end = 为输出完数据之后再输出什么

排序与逆序

打乱

1
2
3
x = list(range(11))
import random
random.shuffle(x)

按长度排序,逆序

1
2
sorted(x, key = lambda item: len(str(item)), reverse = True)
reversed(x)

枚举与迭代 enumerate

enumerate() 函数用来枚举可迭代对象中的元素

1
2
3
4
5
6
7
8
9
10
11
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()

map(func, index)index 中每个对象都进行一次 func 函数,然后把映射得到的对象作为结果

1
2
3
4
5
6
7
8
9
10
11
12
13
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$ 的函数累计迭代运算

1
2
3
4
from functools import reduce
seq = list(range(1, 10))
reduce(lambda x, y: x + y, seq)
45

相当于:
第一次:x = 1, y = 2, ans = 3
第二次:x = 3, y = 3, ans = 6
第三次:x = 6, y = 4, ans = 10
……

filter()

将一个单参数函数作用到一个序列上,并把返回值为 True 的对象组成一个新的 filter 对象

1
2
3
4
5
seq = ['foo', 'x41', '?!', '***']
def func(x):
return x.isalnum()
list(filter(func, seq ))
['foo', 'x41']

range()

1
range(start, end, step)

start默认为0,step默认为1,为左闭右开区间

zip()

把多个可迭代对象压缩到一起

1
2
3
4
5
6
7
8
9
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')]

Author: BY 水蓝
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source BY 水蓝 !
  TOC