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()