Python算法刷题常用tips总结【一】


第一篇 因为先前都是比较零散刷题,只统计了一些刚开始刷题时的重复使用要点tips,后续篇章会结合题目分析并发布笔记心得,记录算法成长之路

  • 控制输出效果

print("...",end="")  #不换行
print('{0} and {1}'.format('spam', 'eggs'))   #spam and eggs
print("PI = %10.3f" % math.pi) #       3.142(空格填补)
print("%.3s" %("abcde"))  #控制位数

#%x --- hex 十六进制
#%o --- oct 八进制
#%s --- 字符串
#%f --- float 浮点数
#%c	--- 字符
#%d	--- 有符号十进制整数
#%u	--- 无符号十进制整数
#%x	--- 16进制整数(小写字母)
#%X	--- 16进制整数(大写字母)
  • 无限循环的使用

while True以及break
break 终止最深层的循环循环语句,不再执行
continue跳出本次循环,执行下一次
pass不做任何,只占位

  • 多参数传入

a,b = input(“姓名:,电话:”).split()

  • map转换控制

map(int【function】,input())

>>>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]

>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))   # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

  • split控制切割次数

split(str,num【分隔次数】)

str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( );         # 以空格为分隔符,包含 \n  
print str.split(' ', 1 );   # 以空格为分隔符,分隔成两个
#['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
#['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
  • format转化进制(第二个参数)

b表示二进制
d制
o八进制
x十六进制

  • 切片的使用

print( x【字符串】[::-1])翻转读取

  • 字符串切割后各字符int之和

sum(int(item) for item in num)

  • sorted排序

sorted(arr,reverse = True) 从大到小
sorted(arr,key = lambda x: x[1]) 按关键字排序

  • 字码转化

ord(‘A’)将字母转为ASCII码
chr(‘A’)将ASCII码转为字母

  • format实现对齐及进制转化

    < 左对齐
    > 右对齐
    数字5表示宽度
    第二个0表示填充符号
    :表示引导符

{0:0>5}.format(format(a,‘b’)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值