各种类型的常用操作方法

可变和不可变类型:

可变类型:列表

l=['a','b']
    print(id(l))
l[0]='A'
    print(l)
    print(id(l))
输出的id是相同的,所以列表是改原值,为可变类型 

不可变类型:字符串、元组、数字类型

 x=9
     print(id(x))
 x=10
     print(id(x))

输出得到的两个id是不同的,所以这里x并不是改变原值,而是新建一个内存空间用来存放新值,所以是不可变类型。

#140730603940880
#140730603940912

  
整型int
# 数据类型转换: 只能将纯数字的字符串转成int

 x=int('123123')
     print(x,type(x))
得到type结果为整型
 x=int('12.3')
会显示错误,所以Int整型之间的转换只能是纯数字,且不能包含小数点。
浮点型float

# 数据类型转换: 只能将包含小数的字符串转成float

x=float('3.1')
    print(x,type(x))
得到的结果类型为float

字符串str

# 数据类型转换:所有类型都可以被str转成字符串类型

 res=str([1,2,3])
     print(res,type(res))
输出为[1,2,3],但是类型为str

字符串的常用操作有下列几种:

按索引取值(正向取+反向取) :只能取
msg='hello'
    print(msg[0],type(msg[0]))
    print(msg[-1])
    print(msg[-2])
msg[0]='H' # 只能取,不能改
切片(顾头不顾尾,步长)
msg='hello world'
res=msg[0:3:1] # 0 1 2
print(res)
print(msg)

res=msg[:]
res=msg[::2] # 0 2 4 6 8 10
print(res)

msg='hello world'
res=msg[-1:-12:-1]
res=msg[-1::-1]
res=msg[::-1]
print(res)
长度len
msg='hello world'
print(len(msg))
成员运算in和not in:判断一个子字符串是否存在于大字符串中
msg='kevin is dsb'

print('kevin' in msg)#返回Ture
print('dsb' in msg)#返回Ture
print('aaa' not in msg)#返回Ture
print(not 'aaa' in msg)#返回Flase
移除空白strip: 用来去除字符串左右两边的字符,不指定默认去除的是空格
msg='      he llo     '
res=msg.strip()
print(res,id(res))
print(msg,id(msg))

print('******eg**on*****'.strip('*'))


print('***+-\/***egon#@$*****'.strip('*+-\/#@$'))

name=input('username>>>: ').strip() # name='egon      '
pwd=input('password>>>: ').strip()

if name == 'egon' and pwd == '123':
    print('login successful')
else:
    print('输错了。。。')

 

切分split:针对有规律的字符串,按照某种分隔符切成列表

info='egon:18:male'
res=info.split(':')
print(res,type(res))
print(res[0],res[1])

cmd='get|a.txt|33333'
print(cmd.split('|',1))

用:号作连接符号将纯字符串的列表拼接成一个字符串
l=['egon', '18', 'male'] # 'egon:18:male'
res=l[0]+':'+l[1]+':'+l[2]
res=':'.join(l)
print(res)
循环
for item in 'hello':
    print(item)
需要掌握的操作
strip,lstrip,rstrip
print('******egon***********'.strip('*'))
print('******egon***********'.lstrip('*'))
print('******egon***********'.rstrip('*'))

lower,upper
print('Abc123'.lower())
print('Abc123'.upper())

startswith,endswith
msg='alex is dsb'
print(msg.startswith('alex'))
print(msg.endswith('b'))
format的三种玩法
res='my name is %s my age is %s' %('egon',18)
print(res)

res='my name is {name} my age is {age}'.format(age=18,name='egon')
print(res)
res='my name is {} my age is {}'.format('egon',18)
res='my name is {0}{1} my age is {1}{1}{1}{1}'.format('egon',18)
print(res)


split,rsplit
msg='a:b:c:d'
print(msg.split(':',1))
print(msg.rsplit(':',1))
replace
msg='kevin is kevin is hahahah'
res=msg.replace('kevin','sb',1)
print(res)
isdigit
print('123123'.isdigit()) # 如果字符串是由纯数字组成的,则返回True
print('123123   '.isdigit())
print('123123asdf'.isdigit())
print('12312.3'.isdigit())

score=input('>>>>: ').strip() #score='asdfasdfasfd'
if score.isdigit():
    score=int(score)

    if score >= 90:
        print('优秀')
    else:
        print('小垃圾')
else:
    print('必须输入纯数字')

列表类型:
数据类型转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表
res=list('hello')
res=list(123)
print(res)

res=list({'a':1,'b':2,'c':3}) # []
print(res)
常用操作方法
按索引存取值(正向存取+反向存取):即可存也可以取
l=['a','b','c','d','e']
print(l[0])
print(l[-1])
print(id(l))
l[0]='A'
print(id(l))


强调强调强调!!!:对于不存在的索引会报错

切片(顾头不顾尾,步长)
l=['a','b','c','d','e']
print(l[1:4])
print(l[::-1])
长度
l=['a','b','c','d','e']
print(len(l))
成员运算in和not in
l=['a','b','c','d','e']
print('a' in l)
追加与insert
l=['a','b','c','d','e']
l.append('xxx')
l.append('yyy')
print(l)

l.insert(0,'xxxx')
print(l)
删除
l=['a','bbb','c','d','e']

del是一种通用的删除操作,没有返回值
del l[0]
print(l)

dic={'k1':1}
del dic['k1']
print(dic)

l.remove(指定要删除的那个元素),没有返回值
res=l.remove('bbb')
print(l)
print(res)

l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素
l=['a','bbb','c','d','e']
l.pop(-1)
res=l.pop(1)
print(l)
print(res)

循环
l=['a','b','c','d','e']
for item in l:
    print(item)

队列:先进先出
堆栈:后进先出
l=[]
# 入队
l.append('first')
l.append('second')
l.append('third')
print(l)
# 出队
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))

需要掌握的知识点:
l=['aaa','bb',345]
l.clear()
l.append([1,2,3])

for i in [1,2,3]:
    l.append(i)
l.extend([1,2,3])

l.reverse()

只有在类中中所有元素都是同种类型的情况下才能用sort排序
l=[1,3,2]
l.sort(reverse=True)

l=['z','d','a']
l.sort()
print(l)

  




猜你喜欢

转载自www.cnblogs.com/tuzaizi/p/10583530.html
今日推荐