python入门常用零碎语法

211 阅读3分钟

输入

下面记录算法题常见的输入。

一行多个空格隔开的输入

一行2个

#输入 13 12(中间由空格隔开的输入数据)
a,b = map(int,input().split())

一行多个

list1=list(map(int,input().split()))

多行每行一个:

n=int(input())#行数
list1=[]#创建输入列表

for i in range(n):
    list1.append(input())
#将每行输入作为元素输入进列表

输入二维数组

list1 = [ [0 for j in range(m)] for i in range(n) ] 
#n行m列的矩阵,用零填充

将数字的各位变成列表

list(map(int,str(1234)))

[1, 2, 3, 4]

进行颠倒:

list/str[::-1] 

常用函数

四舍五入:round(x,四舍五入位数)

如果不指定位数,默认保留到整数。 round()对浮点数的取舍遵循的是四舍六入五平分,当遇到 .5 时如果要取舍的位数前的小数是奇数,则直接舍弃,如果是偶数,则向上取舍。

math.ceil(2.3) :向上取整
math.floor(2.3) :向下取整

ASCII码的转换:

ord( ) 、chr( )

ord('A') #65

chr(65) #A

进制转换

bin(num) #十进制转二进制 '0b11'

int(num) #任何进制转十进制 #int("",16/2/8) “ ”字符串内的是16/2/8进制

oct(num) #十进制转八进制 '0o14'

hex(num) #十进制转十六进制 '0xf'

其它进制转换操作

把整数格式化为2位的16进制字符串,高位用零占位
 '{:02x}'.format(9)
>>'09'

把整数格式化为2位的16进制字符串,高位用空占位
 '{:2x}'.format(9)
>>> ' 9'

把整数格式化为2位的16进制字符串
'{:x}'.format(9)
>>> '9'
-------------------------------
把整数格式化为2位的8进制字符串,高位用空占位
'{:2o}'.format(9)
>> '11'

把整数格式化为2位的8进制字符串,高位用零占位
>>> '{:02o}'.format(6)
>>> '06'
------------------------------
把整数格式化为8位的2进制字符串,高位用零占位
>>> '{:08b}'.format(73)
>>> '01001001'

把整数格式化为2进制字符串
>>> '{:b}'.format(73)
>>> '1001001'

把整数格式化为8位的2进制字符串,高位用空占位
>>> '{:8b}'.format(73)
>>> ' 1001001'

format(num,'x')以16进制输出 'b'以二进制

format(15,'x') 'f'

排序

list.sort( ) #直接改变list列表的内容
#默认升序
#降序 
list.sort(reverse=True)
sorted(list) #不改变原列表的内容,而是根据一个可迭代对象建立一个新的列表

字符串小写转大写:

str1.upper()

大写转小写:

str1.lower()

深拷贝

copy.deepcopy(s): copy变原来不变

import copy
s=[]
s1 = copy.deepcopy(s)

输出格式

保留n位输出

#保留7位小数输出 print("%.7f"%S)

不换行输出、空格输出

print(ans,end="")#无换行无空格
print(ans,end=" ")#空格
print()#自动换行

格式输出

print ("{}:{}:{}".format(h,m,s))

format()

保留小数.f

{:.2f}:保留小数点后两位      
{:+.2f} : 带符号保留小数点后两位    
{:.0f} : 不带小数

预留位置

{:0>2d} :数字补零 (填充左边, 宽度为2)            
{:x<4d}: 数字补x (填充右边, 宽度为4) 

表达格式

{:,} :以逗号分隔的数字格式  1,000,000                
{:.2%}: 百分比格式             
{:.2e}:指数记法   1.00e+09 

对齐方式

{:>10d}:右对齐 (默认, 宽度为10)   
右对齐填充指定长度,默认空格
 str.rjust(width[, fillchar])              
{:<10d}:左对齐 (宽度为10)       
{:^10d} : 中间对齐 (宽度为10)