python之数据类型
Posted Balllyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之数据类型相关的知识,希望对你有一定的参考价值。
一、数据类型是什么?
计算机可以处理多种类型的数据,如数字,字符串,文件,音频等。数据类型就是值的集合。
变量可以存储数据,有变量名和数据类型,声明变量时要说明数据类型,以决定如何将代表这些值的位存储到计算机内存中。
二、列表及列表操作
列表(也叫数组)是最常见的数据类型之一,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
一个list里嵌套一个list 如[1,2,3,[‘abc‘,23]],称为二维数组,一个list里嵌套一个list,最里面的list再套一个list,如[1,2,3,4[‘Lyh‘,12,[‘sdf‘,22]]],称为三维数组,即此类推。
通过下标访问列表中的元素,即索引,从0开始计算,第一个元素的索引是0,第二个为1,以此类推。
2.1 访问列表中的元素
除了索引访问,也可以使用方括号的形式截取字符。如下所示:
stu_name=[‘杨帆‘,‘唐小军‘,‘周杜娟‘,‘暖暖‘,1,1.5,‘hello‘] print(stu_name[2])#打印出列表中索引为2的元素。 print(stu_name[0:5])#顾头不顾尾,截取打印索引为0,1,2,3,4的元素 print(stu_name[1:4])#截取打印索引为1,2,3的元素 print(stu_name[:5])#默认索引从0开始,0可以省略 print(stu_name[2:])#冒号:后面值没写,默认从索引2代表的元素开始,取到最后一个数据 print(stu_name[::])#冒号前后都不写,代表取所有值
print(stu_name[::2]#取所有元素,每隔2个元素取一次
nums=[‘a‘,‘b‘,3,5,6,78,23,45,56,12]
print(nums[1:8:3])#取索引1到索引8,但不包括索引8的值,每隔3个元素取一次。
2.2 增删改查
修改更新列表元素:
stu_name=[‘杨帆‘,‘唐小军‘,‘周杜娟‘,‘暖暖‘,1,1.5,‘hello‘] stu_name.append(‘温馨宇‘)#默认从末尾添加一个元素 stu_name.insert(2,‘abc‘)#从指定位置插入元素,这里指定从索引2的位置 print(stu_name)
删除列表元素:
stu_name.pop()#默认删除末尾的元素 stu_name.pop(4)#删除指定位置的元素 stu_name.remove(‘hello‘)#删除指定元素,若存在相同元素,默认删除第一个 del stu_name[2]#删除指定位置的元素 del stu_name[-1]#-1代表最后一个元素,从后向前数 stu_name.clear()#清空整个列表
修改列表元素:
stu_name=[‘杨帆‘,‘唐小军‘,‘周杜娟‘,‘暖暖‘,1,1.5,‘hello‘] stu_name[2]=‘fish‘#修改列表中索引为2的元素 #列表中索引为2的元素为‘唐小军‘,修改后显示‘fish‘
2.3 列表内置方法
stu_name=[‘杨帆‘,‘唐小军‘,‘周杜娟‘,‘暖暖‘,1,1.5,‘hello‘] stu_name.count(‘杨月‘)#统计某个元素在列表中的次数 stu_name.index(1.5)#查询某个元素在list中的下标 stu_name.reverse()#reverse是反转list print(stu_name)#打印出反转后的list stu_name.clear()#清空list内容 nums=[1,3.5,6.5,11,23,7,8] nums.sort()#默认按升序排 nums.sort(reverse=True)#若果指定reverse=True就按降序排列 nums.extend(stu_name)#将一个列表中的元素加到另一个列表中,即合并两个元素
注意:List1.extend(List2)是将List2中的元素加到list1中,打印List1可以看到合并后的值。区别于List3=List1+List2,"+"连接合并两个列表后,产生一个新列表。
2.4 循环遍历List
#方法1 passwords=[‘12345‘,‘123456‘,‘123456YHcg‘] index=0 for p in passwords: print("每次循环:",passwords.index(p),p) #方法2 passwords=[‘12345‘,‘123456‘,‘123456YHcg‘] for i in range(len(passwords)): print("索引:%s,值:%s"%(i,passwords[i])) #方法3 passwords=[‘12345‘,‘123456‘,‘123456YHcg‘] for index,p in enumerate(passwords): print("索引:%s,值:%s"%(index,p))#使用枚举函数,会帮你计算下标和元素
三、元组及元组操作
元组与列表相似,不同之处在于:元组中的元素不能改变。元组用()定义,且要用逗号隔开。只有一个元素时,切记其后要跟逗号。
tup1=(‘杨月‘,‘暖暖‘,‘Balllyh‘,12,5.6,21)#定义一个元组 tup2=()#定义一个空元组 tup3=(25) print(type(tup3))#元组中只有一个元素时,如果不加逗号,括号被当作运算符。这里打印是int类型 #打印结果:<class ‘int‘> tup4=(25,) print(type(tup4))#元组中只有一个元素时,其后加逗号,才是元组类型 #打印结果:<class ‘tuple‘>
元组与字符串一样,下标也是从0开始,通过下标访问元组中的元素,或者截取。
3.1 访问元组
print(tup1[3])#打印元组中索引为3的值 print(tup1[:4])#与列表一样,顾头不顾尾,取索引0-3的元素,不包括索引4的元素。 print(tup1[1:5:2])#取索引1到4的元素,每隔2个取一次 print(tup1[2:])#从第三个元素取到最后一个。冒号后不显示,默认取到最后一个元素
3.2 元组内置方法
tup1=(‘杨月‘,‘暖暖‘,‘Balllyh‘,12,5.6,21,‘暖暖‘)#定义一个元组 del tup1#元组中元素不能删除,可以删除整个元组 print(tup1) print(tup1.index(‘暖暖‘))#查询指定元素的下标 print(tup1.count(‘暖暖‘))#统计指定元素在元组中出现的次数 tuple(list)#将列表直接转换成元组
四、字典及字典操作
字典也是一种key-value的数据类型,创建字典时,用大括号{},每个key-value键值对用逗号,隔开,key与value之间用冒号:隔开。
格式为:{key1:value1,key2:value2}
字典的特点:
- 字典是key做索引,通过key遍历和访问字典中的元素,其查询速度快;
- 字典的key是唯一的,不能重复,value不要求;
- 字典是无序的
4.1 访问字典中的元素
dict={‘name‘:‘Liuyihan‘,‘sex‘:‘女‘,‘addr‘:‘深圳‘,‘age‘:18,‘email‘:‘[email protected]‘,‘id‘:1} print(dict[‘name‘])#获取‘name‘这个key的信息,若key不存在,则报错 print(dict.get(‘name‘))#获取‘name‘这个key的信息,若key不存在,则返回None print(dict.get(‘shenggao‘,165))#get获取信息时,若key不存在,可指定默认值。这里shenggao不存在时,默认取165
4.2 增删改查
在字典中增加元素
dict={‘name‘:‘Liuyihan‘,‘sex‘:‘女‘,‘addr‘:‘深圳‘,‘age‘:18,‘email‘:‘[email protected]‘,‘id‘:1} dict[‘heavy‘]=115#增加一个元素heavy dict[‘name‘]=‘麻花‘#若dict里无这个值,直接更新修改name的值,若已存在这个值,就不更新。 print(dict)
删除字典中的元素
dict={‘name‘:‘Liuyihan‘,‘sex‘:‘女‘,‘addr‘:‘深圳‘,‘age‘:18,‘email‘:‘[email protected]‘,‘id‘:1} dict.pop(‘age‘)#删除指定位置的key和value。因为字典由key定位元素位置 dict.clear()#清空字典 del dict[‘id‘]#删除指定位置的key和value。
dict.popitem()#随机删除某个元素
4.3 字典内置方法
print(dict.len())#统计字典长度,即字典中元素个数
print(dict.values())#打印出所有的value print(dict.keys())#打印出所有的key print(dict.setdefault(‘heavy‘,112))#若key不存在,则按设置的值添加,若key存在,就不添加。 dict2={‘school‘:‘重庆邮电大学‘,‘job‘:‘softtest‘} print(dict.update(dict2))#将一个字典中的值更新到另一个字典中,若已存在,就不更新 print(dict) print(dict.items())#将字典转换成list
4.4 字典的循环遍历
第一种方法:只对key的遍历,推荐使用这种方式,速度快
dict={‘name‘:‘Liuyihan‘,‘sex‘:‘女‘,‘addr‘:‘深圳‘,‘age‘:18,‘email‘:‘[email protected]‘,‘id‘:1} for k in dict: print(k,dict[k])#打印出key和value
第二种方式:对key和value都遍历
如果想获取键和值d.items方法会将键-值对作为元组返回,for循环的一大好处就是可以循环中使用序列解包
dict={‘name‘:‘Liuyihan‘,‘sex‘:‘女‘,‘addr‘:‘深圳‘,‘age‘:18,‘email‘:‘[email protected]‘,‘id‘:1} for k,v in dict.items(): print(k,v)
五、字符串及字符串操作
创建字符串用引号‘‘,只要给变量分配一个值即可
password=‘Welcome to my blogs!‘ nums=‘123yh‘
字符串常用的内置方法:
print(password.endswith(‘!‘))#判断是否以X结尾 print(password.capitalize())#将字符串的首字符大写 print(password.upper())#将字符串转换成大写 print(password.lower())#将字符串转换成小写 print(password.isdigit())#判断是否是数字 print(password.isalpha())#判断是否是字母 print(password.isalnum())#判断是否包含数字和字母 print(‘ mysql ‘.strip())#默认去掉左右两边的空格和换行符 print(‘ myslq ‘.lstrip())#默认去掉左边的空格和换行符 print(‘ mysql ‘.rstrip())#默认去掉右边的空格和换行符 print(password.find(‘y‘))#查找指定字符在字符串中的索引/下标 print(password.conut(‘o‘))#统计一个字符在字符串中出现的次数 print(password.replace(‘blogs‘,‘BBS‘))#替换字符 print(password.split(‘,‘))#把字符串变换成list,指定分隔符,分割之后是list里的每一个元素 print(password.strip(‘.jpg‘))#默认去掉字符串前后两边的空格和换行符,也可以指定字符如.jpg print(‘123 1+2+3+4‘.splitlines())#按照换行符分割
以上是关于python之数据类型的主要内容,如果未能解决你的问题,请参考以下文章