数据类型的使用方法基础篇之一


一:可变不可变
1. 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型
x=9
print(id(x),x)
x=10
print(id(x),x)
2. 不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型
l=['a','b']
print(id(l))
l[0]='A'
print(l)
print(id(l))
一:数字
2.1整型int
作用:年级,等级,身份证号,QQ号等整型数字相关
定义:age=10 # age=int(10)
2.2浮点型float
作用:薪资,身高,体重等浮点数相关
定义:salary=3988.45 #salary=float(3988.45)
都是存一个值,不可变类型

三:字符串
3.1索引取值:只能取
a='hello,world'
print(a[1])
print(a[-3])
3.2切片(顾头不顾尾,步长)
a='hello,world'
print(a[1:7:2])
print(a[-3:-6:-1])
3.3长度(len)
a='hello,world'
print(len(a))
3.4成员运算
in与not in
a='hello world'
b='e'
c='k'
print(b in a)
print(c not in a)
3.5移除空白strip
用来去除字符串左右两边的字符,不指定默认去除的是空格
print((*******egon******).strip(*))
3.6切分split
info='egon:18:male'
res=info.split(':')
l=['egon',18,'male']
res=':'.join(l)
print(res)
3.7 循环
info='hello world'
for item in info:
print(item,end=' ')
需要掌握的操作:

1、strip,lstrip,rstrip
print('******egon***********'.strip('*'))
print('******egon***********'.lstrip('*'))
print('******egon***********'.rstrip('*'))
2、lower,upper
print('Abc123'.lower())
print('Abc123'.upper())
3、startswith,endswith
msg='alex is dsb'
print(msg.startswith('alex'))
print(msg.endswith('b'))

4、format的三种玩法
A: res='my name is %s my age is %s' %('egon',18)
print(res)
B:res='my name is {} my age is {} my gender is {}'.format('egon',18,'male')
print(res)
C:res='my name is {0}{1} my age is {1}{1}{1}{1} my name is {2}'.format('egon',18,'male')
print(res)
小结:存一个值 有序 不可变


三:列表

3.1用途:按照位置记录多个值,索引对应值
3.2定义方式:在[]内用逗号分隔开多个任意类型的值
l=['a',11,11.3,] # l=list(['a',11,11.3,])
数据类型转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表
res=list('hello')
res=list(123)
print(res)
res=list({'a':1,'b':2,'c':3}) # []
print(res)

3.3常用操作+内置的方法
优先掌握的操作:
3.3.1、按索引存取值(正向存取+反向存取):即可存也可以取
l=['a','b','c','d','e']
print(l[0])
print(l[-1])
print(id(l))
l[0]='A'
print(id(l))

强调强调强调!!!:对于不存在的索引会报错
l[5]='AAAA'

dic={"k1":111}
dic['k2']=2222
print(dic)

3.3.2切片(顾头不顾尾,步长)
l=['a','b','c','d','e']
print(l[1:4])
print(l[::-1])
3.3.3长度
l=['a','b','c','d','e']
print(len(l))

3.3.4成员运算in和not in
l=['a','b','c','d','e']
print('a' in l)
3.3.5追加与insert
l=['a','b','c','d','e']
l.append('xxx')
l.append('yyy')
print(l)
l.insert(0,'xxxx')
print(l)

3.3.6、删除
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)
3.3.7循环
l=['a','b','c','d','e']
for item in l:
print(item)
练习:
3.4队列:先进先出
l=[]
入队
l.append('first')
l.append('second')
l.append('third')
print(l)
3.5出队
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))

3.6堆栈:后进先出

需要掌握的操作
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/guanlei/p/10581104.html