Python课程笔记1

主要内容

复数,测试运算符 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')]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值