数字类型、字符串类型扩展
赋值方式:
增量赋值、链式赋值、交叉赋值
#链式赋值
#x与y的值=1
x=y=1
#交叉赋值
x=1 y=2
x,y=y,m
变量解压
salarys=[20000,30000,50000,80000,100000]
mon1,mon2,mon3,mon4,mon5=salarys
print(mon1)
#注意 变量解压时变量要对应上 解压对象的元素个数 其他数量的解压会报错
#变量解压时是按照从左到右多大顺序
#只取最后几位
salarys=[20000,30000,50000,80000,100000]
*_,x,y=salarys
print(x)
进制转换
bin() 十进制转三进制
oct()十进制转八进制
hex () 十进制转十六进制
哈希 hash
x=1 #int 整形不可变类型 可哈希
y='ac'#字符串不可变类型 可哈希
c=['666',999]#列表可变类型 不可哈希
print(hash(x)) #1
print(hash(y)) #1677495358
print(hash(c)) #TypeError: unhashable type: 'list'
字符串类型取反
方法一
salarys=[20000,30000,50000,80000,100000]
print(salarys[-1]) #100000
方法二:
salarys=[20000,30000,50000,80000,100000]
print(salarys[0-2]) #此时 []内 进行运算0减去2 得到-2 所以取到的值为 80000
列表切片
salarys=[20000,30000,50000,80000,100000]
print(salarys[0:2]) #[20000, 30000] #切片 顾头不顾尾
#有关步长
salarys=[20000,30000,50000,80000,100000]
print(salarys[0:5:2]) #[20000, 30000] #[20000, 50000] 0为起始 4为终点 2为步长
长度统计 len
salarys=[20000,30000,50000,80000,100000]
print(len(salarys))
name='liujin' #5 统计列表时为 元素的个数
print(len(name)) #统计字符串时为字符串 字符个数
成员运算 in 和not in
in:在里面
not in :不在里面
salarys=[20000,30000,50000,80000,100000]
print(20000 in salarys) #True
print(1000000000000in salarys) #False
print(2000 not in salarys)#True
print(20000 not in salarys)#False
移除 strip()中的数据 如果()中为空 那么默认为移除空格
x='***********liujin***********'
print(x.strip('*')) #liujin
split () 切分
name='刘锦:文刀金帛'
print(name.split(':')) #['刘锦,文刀金帛'] 结果为list类型
# cmd='get|C:a.txt|3333'
# print(cmd.split('|',1)) #切分 | 1为只切分一个
# print(cmd.rsplit('|',1))#从右边开始切分
jion 拼接
info='liujin,123,2018-8-24'
x=info.split(',')
print(x)#['liujin', '123', '2018-8-24']
x='锦哥帅帅帅迷妹爱爱爱'.join(x)
print(x)#liujin锦哥帅帅帅迷妹爱爱爱123锦哥帅帅帅迷妹爱爱爱2018-8-24
字符元素替换 replace
msg='假装在硅谷'
x=msg.replace('硅谷','阿里') #两个属性 old new
print(x) #假装在阿里
append 添加元素
salarly=[20000,30000,50000]
salarly.append(80000)
print(salarly) #[20000, 30000, 50000, 80000]
inset 插入元素
salarly=[20000,30000,50000] salarly.insert(1,'xxx') print(salarly)#[20000, 'xxx', 30000, 50000] 参数 index 元素
del 删除元素
salary=[15000,20000,30000,50000] del salary[0] #del 直接对列表进行操作 无需增量赋值 print(salary) #[20000, 30000, 50000]
remove()删除元素
salary=[15000,20000,30000,50000] salary.remove(15000) #直接对元素进行操作 print(salary) #[20000, 30000, 50000]
pop弹出
要修改!!!!
salary=[20000,30000,50000,15000]
salary.pop() #不指定参数默认为弹出最后一个
print(salary)
salary.pop(0)#弹出指定索引
print(salary)
判断元素是不是数字类型 isdigit
print('10'.isdigit()) #True
# print('asdfasdfasdfaAsfd'.isalpha()) #字符全由字母组成
# print('asdf'.isalnum()) #字符由字母或数字组成
判断元素的索引位置 index
salarys=[20000,30000,50000,80000,100000]
print(salarys.index(50000)) #2
了解
print('egon'.center(50,'*'))#***********************jin***********************
print('egon'.ljust(50,'*'))#jin**********************************************
print('egon'.rjust(50,'*'))#**********************************************jin
print('egon'.zfill(50))#0000000000000000000000000000000000000000000000jin
end=‘’
默认为不换行
end=‘ ’
换行
打印金字塔
x=5
for line in range(1,x+1):
for i in range(x-line):
print(' ',end='')
for j in range(2*line-1):
print('*',end='')
print()
#结果
*
***
*****
*******
*********
打印九九乘法表
for i in range(1,10):
for x in range(1,i+1):
print('%s*%s=%s '%(i,x,i*x),end='')
print()
#结果
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81