【Python】python数据类型
Python3中有6个标准的数据类型:Number、String、List、Tuple、Sets、Dictionary。(List和Tuple均属于序列结构)
1.Number
python的Number中包含常用的数字类型如下:
int(带符号)
float(可使用科学计数法)
bool(True/False)
long
complex(复数,实部+虚部,虚部以j或J结尾,可通过 complex(实部,虚部) 函数构建)
此外,python还允许将十进制整型表示为二进制数、八进制数、十六进制数。type()函数可以查询变量类型。
a, b, c, d = 10, 2.5, True, 4+3j complexNum = complex(5, 6) print(a, b, c, d, complexNum, type(complexNum))
2.String
2.1 单引号和双引号
表示字符串时,单双引号可以互换,同时可以互相嵌套(即可以以字符的形式出现在其中)。
String1 = 'ada' String2 = "adad" String3 = 'adad"dada' String4 = "adadad'adad" print(String1) print(String2) print(String3) print(String4)
2.2 三引号
三引号通常用来表示多行字符串,也被称为块字符,在显示时,字符串中的各种控制字符以转义字符显示。
String5 = '''ada\ndad adadad adad dadada''' print(String5)
2.3 转义字符
python使用反斜杠\来转义字符,常见转义字符如下:
2.4 带r或R前缀的Raw字符串
r字符串一般用于解析含有转义字符的文件路径,当文件路径中含有\t、\f等转义字符时,如直接使用,python会将其进行转义成对应的字符,我们就找不到正确的路径,这时我们可以用r/R来对文件路径进行处理,举例如下:
# 不加r的文件路径 print("d:\dad\dada\f\a") # 加r的文件路径 print(r"d:\dad\dada\f\a")
2.5字符串操作
(1)字符串可以用 + 连接,或者用 * 重复字符串
# 字符串连接 print("str1" + "str2") # 字符串加倍 print("strTime" * 2)
(2)python字符串索引有两种方式,一种是从前往后,从0开始增大;另一种是从后往前,从-1开始减小
str = "testStr" # 字符串索引:从0开始增大 print(str[0], str[6]) # 字符串索引:从-1开始减小 print(str[-1], str[-3])
(3)对字符串进行切片,即获取子串,格式:str[索引1:索引2],截取范围是索引的前包后不包
# 字符串切片 print(str[0:4]) print(str[-5:-1])
3.列表
列表是一个没有固定长度,用来表示任意类型对象间位置关系的有序集合,其中的每个元素都有一个自己的位置,被称作索引,从0开始,依次增大
3.1 列表相关操作
(1)创建列表
创建列表,只需要把元素放在方括号中即可
# 列表创建 list1 = ["str1", "str2", "str3", 1, 'a'] print(list1)
(2)访问列表
访问列表元素可以通过下标索引直接访问,也可以通过切片进行访问
# 访问列表元素 print(list1[0], list1[3]) print(list1[1:3])
(3)元素赋值
列表元素赋值有两种方法:列表整体赋值、单个元素赋值
# 列表元素赋值 list2 = [1, 3, 5, 7] print(list2) # 单个元素赋值 list2[2] = 9 print(list2)
(4)元素删除
列表使用del语句对元素进行删除
# 列表元素删除 print(list2) del list2[1] print(list2)
3.2 列表常用方法
初始列表为list3,如下
list3 = [1, 2, 3, 4, 5, 6, 6]
(1)append()
append()方法用于在列表末尾追加新的元素
# append()方法 list3.append(7) print(list3)
(2)count()
count()方法可以用来统计列表中某个元素出现的次数,元素包括数字、字母、字符串、列表
# count()方法 print(list3.count(6))
(3)extend()
extend()方法可以在列表末尾一次性追加一个新的序列中的值。与序列的连接操作不同,extend()方法直接修改了被扩展的列表
# extend()方法 extendList = [9, 10] list3.extend(extendList)
(4)insert()
insert()方法可以在指定位置上添加新的元素
# insert()方法 list3.insert(3, 0) print(list3)
(5)reverse()
reverse()方法可以实现列表的反向存放
# reverse()方法 list3.reverse() print(list3)
(6)remove()
remove()方法用于删除列表中某个元素的第一个匹配项
# remove()方法 list3.remove(6) print(list3)
(7)sort()
sort()方法可以将列表中元素升序排列
# sort()方法 list3.sort() print(list3)
(8)cmp()
cmp()用于比较两个列表的元素,比较方法如下:
若两个元素类型相同,则比较其值,返回结果
若两个元素类型不同,则检查它们是否是数字
是数字,执行必要的数字强制类型转换,然后比较
有一方是数字,则另一方元素大(数字最小)
否则,通过类型名字的字母顺序进行比较
若有一个列表先到头,则另一个长的列表大
若用尽两个列表元素且所有元素相等,返回0
4.元组
元组与列表非常相似,唯一不同的是元组一经定义,其内容就不能修改。
元组内的元素可以是不同类型的数据,包括字符串、数字、元组
4.1 元组的创建
(1)直接用逗号隔开
>>>1, 2, 3
(1, 2, 3)
(2)括号加逗号
# 元组创建 te1 = (1, 2, 3) print(te1)
(3)tuple()函数
tuple()函数将一个序列作为参数,并将其转换成元组;
如果参数本身就是元组,则会原样返回;
如果参数是字符串,则会将字符串中的每个字符作为元组的每个元素
# tuple()函数 te2 = tuple((2, 3, 4)) print(te2) te3 = tuple([3, 4, 5]) print(te3) te4 = tuple("abcd") print(te4)
4.2 元组的基本操作
元组的操作主要是创建与访问,其余操作与列表类似。
(1)元素访问
# 元组元素访问 te5 = (1, 6, 2, 7) print(te5[1])
(2)元素排序
元组内的元素一经创建就无法改变,因此如要对其进行排序,需要先将其转换成list,通过列表的sort()方法进行排序,再通过tuple()方法将list转换成元组,如下
# 元组排序 te6 = (1, 6, 2, 7) tmpList = list(te6) tmpList.sort() te6 = tuple(tmpList) print(te6)
5.字典
字典是python中唯一内建的映射类型,可以通过顺序的阅读实现对字典元素的遍历,也可以通过对某个字典元素的键进行搜索而找到该字典元素的值
5.1 字典相关操作
(1)dict()函数
dict()方法实现利用其它映射或者序列建立新的字典
te1 = [('name','Damon'),('sex','man')] te = dict(te1)
(2)clear()函数
clear()方法用来清除字典中的所有字典元素,无返回值
te = {} te['name'] = 'Oamon' te['sex'] = 'man' te.clear()
(3)pop()函数
pop()方法可以获得对应于给定键的值,然后将这个“键值对”删除
te = {'x':1, 'y':2, 'z':3} te = pop('y')
(4)get()函数
get()函数可以获得对应给定键的值,当没有是返回None
te = {'x':1, 'y':2, 'z':3} te.get('y')
(5)values()函数
values()方法以列表的形式返回字典中的值,与返回值的序列不同,返回的列表可以包含重复的元素
d = {} d[1] = 1 d[2] = 2 d[3] = 3 d[4] = 4 d.values()
(6)update()函数
update()可以将两个字典合并,得到新的字典,值得注意的是,当两个字典中有相同的键时,会进行覆盖
te1 = {'name':'小明', 'sex':'男'} te2 = {'name':'Damon', 'call':'12345678910'} te1.update(te2)
6.集合
与前面的两种数据结构不同,set对象是由一种无序元素组成,分为可变集合set和不可变集合Frozenset。不可变集合是可哈希的,可以当作字典的键
6.1 集合相关操作
(1)set()函数
创建可变集合使用set()方法,创建不可变但可哈希集合使用frozenset()方法
te1 = set('python') te2 = frozenset('python')
(2)add()函数
add()方法可以添加集合元素
te = set('python') te.add('add')
(3)update()函数
update()方法可以将另一个集合添加到指定集合中
te1 = set([1, 2, 3]) te2 = set([4, 5, 6]) te1.update(te2)
(4)remove()函数
remove()方法可以删除指定集合元素
te = set('python') te.remove('y')
(5)clear()函数
clear()函数可以删除全部元素
te = set('python') te.clear()