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之数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Python 之 Socket编程(TCP/UDP)

Python学习总结

python数据类型详细分析(附代码)

python 用于数据探索的Python代码片段(例如,在数据科学项目中)

13 个非常有用的 Python 代码片段

Python之如何优雅的重试