python数据类型
Posted lsl1230
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
一、布尔类型:true false
if true:
print(‘true‘)
if false:
print(‘false‘)
# 非0即真,非空即真
while 0:
print(‘你好‘)
a=‘‘
while a:
print(‘sdd‘)
二、list列表,;列表可利用下标进行增删改查
1.取值
l = [‘a‘,‘b‘,‘c‘,1,2,3,4,5,6] #利用索引/下标/角标 取值,如
print(l[0])
print(l[2])
print(l[-1]) #取最后一个元素
#list下标取值,下标从0开始
下面说一下切片,切片就是对list一个范围的取值:
顾头不顾尾;切片冒号前面的值,省略不写的话表示取前面所有值
切片冒号后面的值,省略不写的话,表示取后面所有值;只写一个冒号的话,取整个列表
只写一个冒号,表示取所有值,可用来复制一个新的列表;
步长默认不写的话,是1,写上步长就隔几个元素取值;步长为负数,从末尾取值,为正数,从头取值
#切片下标的操作同样适用于字符串
print(l[:1]) #取第一个元素
print(l[0:]) #所有元素
print(l[:]) #所有元素
print(l[:-1]) #除最后一个以外的元素
print(l[::2]) #每隔2个步长取值,默认是1,挨个取值
print(l[-1:-4:-1]) #从后往前取,步长都一样;从后往前取,前边指定范围时下标也要是负数
2.增
l.append(‘周结‘) #在末尾增加元素
l.insert(0,‘周杰伦‘) #指定位置增加元素
l.insert(9,‘娃哈哈‘) #如果指定下标没有,name就加到最后
3.删
l.pop(10) # 删除指定下标元素,删除不存在的会报错
l.remove(‘ldjjf‘) #删除指定元素,删除不存在的会报错
del l[0] # 删除指定下标元素
4.改
l[2] = ‘修改‘
5.其他一些方法
l.count(‘a‘) #某个元素个数
l.index(‘b‘) #找某个元素下标
l.reverse() #反转list
l.sort() #排序,默认升序
l.sort(reverse=True) #降序
l.clear() #清空list
l3 = l2+l1 #把两个list合成一个list
l.extend(l1) #把l2里面的元素加入到l里面
6.list的循环
student = [‘周杰伦‘,‘林俊杰‘,‘张杰‘]
for stu in student: #list循环,循环的是list里面的每一个元素;not in,表示不存在
print(stu)
7.二维数组、多维数组
L1 =[1,2,3,[‘a‘,‘b‘,‘c‘]] #二维数组
L =[1,2,3,[‘a‘,‘b‘,‘c‘,[‘q‘,‘a‘,‘z‘]]] #三维数组,以此类推
三、字符串的一些常用内置方法
name=‘lily,lucy,hanhan‘
name.count(‘n‘)#获取n出现的次数
name.index(‘n‘)#获取元素第一次出现的位置,找不到会报错
name,center(20,‘*‘)#居中,20是指定的字符串长度,*是指定居中的字符串
name.endswith(‘.com‘)#判断以xx结尾
name.startwith(‘a‘) #判断以xx开头
name.find(‘ly‘)#查找字符串下标,和index的区别是 find找不到该字符串返回-1,而index会报错
name.isdigit#判断是不是一个整数
name.islower#判断字符串是否全是小写
name.isupper#判断是否全是大写
stu_name-[‘hdhd‘,‘jdd‘,‘‘ddh]
s= ‘ shdh ‘
print(‘,‘.join(stu_name))#把stu_name里的字符串以逗号连接,一般只能拼接list里的字符串,不能是int或者其他类型;且不能是嵌套的list
print(s.strip)#去掉两头的xx,默认不写的话是去掉空格和换行
print(s.lstrip)#去掉开头的xx,默认不写的话是去空格和换行
print(s.replace(‘h‘,‘H‘,1))#将h替换为H,且只替换一次
s.split(‘,‘)#以xx来分割字符串,返回的是一个list,不写的话默认以空格来分割字符串
s.splitlines()#以换行符来分割字符串,返回的是一个list
s.zfill(8)#填充,不够的话补0
常用的操作方法有:count,find,join,endswith,startswith,isdigit,replace,split,zfill
四、元祖,值不可变,只有count、index方法
mysql_config=(‘127.0.0.1‘,‘3306‘,‘root‘,‘123‘)
print(mysql_config.count(‘3306‘))#获取出现次数
print(mysql_config.index(‘3306‘))#获取位置
python中有:可变数据类型:list、字典(dict)
不可变数据类型:元组(tuple)、字符串(str)、float、int
对于一些不宜修改的数据可以用不可变数据类型,安全性高
定义元组的时候,如果只有一个元素,要加一个逗号:
l2 = (‘abc‘,)
五、字典
names = ‘lidy‘:[20,‘上海‘],‘李李‘:[23,‘北京‘]
#查
print(names[‘lidy‘])
print(names.get(‘dkdkd‘))#取值不在的话返回false;上面的查询若取值不在会报错
print(names.keys()) #返回所有key
print(names.values())#返回所有key里的值
#增
names[‘kiki‘]=[26,‘上海‘] #原来值存在是修改,值不存在是增加
names.setdefault(‘kjd‘,[23,‘北京‘])#如果set的这个key存在的话那么
就不动原来的值,如果不存在才会新增
#删
del names[‘lidy‘]
names.pop(‘ddd‘)#推荐使用
#字典的循环
for k,v in names.items(): #items是把字典转成一个list,然后再循环list取值,效率较低,不可取
print(k,v)#获取字典中的key值和values对应得值
for k in names:
print(k,names[k])#获取字典中的key和values对应de值
for k in names:
val = name.get[k]
print(k,val)#获取字典中的key和values对应得值,推荐使用
六、集合
集合,天生去重,没有重复的元素;集合是无序的,可以循环,但是不能按下标取值
s = 1,2,3,55,1,2,3,8,2
s2 = set() #定义空集合
l = [1,2,3,55,1,2,3,8,2]
print(set(l))
a = 1,2,3
b = 55,1,2
print(a & b)
print(a.intersection(b)) #取交集
print(a|b)
print(a.union(b)) #取并集
print(a-b)
print(a.difference(b)) #取差集,a集合里面存在,b集合里面没有的
a.add(‘qqq‘) #增加
a.remove(‘1‘) #删除
---恢复内容结束---
以上是关于python数据类型的主要内容,如果未能解决你的问题,请参考以下文章