一、数据结构概述
(一)数据
针对异构数据需要进行转换
(二)数据结构
常见数据结构:栈、队列、数组、链表、树、图
二维数组,类似Excel表格,可用索引index
二、python数据结构
不可变数据:只能读取
Numbers(数字)、String(字符串)、Tuple(元组)
可变数据:可以操作
List(列表)、Dictionary(字典)、Set(集合)
查看数据:
1、tpye()函数查看数据类型
#tpye()函数
type(123)#返回Int
type(a)#返回str
2、用isinstance判断指定类型
isinstance(123,int)
#True
(一)数字
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number 对象就会被创建:
var1 = 1
var2 = 10
Python支持四种不同的数字类型:
int(有符号整型)
long(长整型,也可以代表八进制和十六进制)
float(浮点型)
complex(复数)
可以对数字进行赋值、数值计算等操作
(二)字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
1)可以对字符串进行切片访问(可适用于字符、列表、元组)
1、python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
2、可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
3、切片符合左闭右开原则
2)常用字符操作
(三)布尔型
0和1是基本元素,表示开或关,真或假。在python中True或False代表真或假,属于布尔型。
(四)列表
- 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字,它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
- Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
- Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
- 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型
1、创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
2、访问
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
3、更新
list = [] ## 空列表
list.append('Google') ## 使用 append() 添加元素
list.append('Runoob')
print list
4、删除
可以使用 del 语句来删除列表的元素,如下实例:
list1 = ['physics', 'chemistry', 1997, 2000]
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1
5、列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
6、列表截取
L = ['Google', 'Runoob', 'Taobao']
L[2] #读取列表中第三个元素
#'Taobao'
L[-2] #读取列表中倒数第二个元素
#'Runoob'
L[1:] #从第二个元素开始截取列表
#['Runoob', 'Taobao']
常用列表操作:
a=[1,2,3]
len(a)#求个数
max(a)#最大
min(a)#最小
sum(a)#求和
a.index(2)#指定元素位置
a.count(1)#求元素个数
for i in a:print(i) #迭代元素
sorted(a)
any(a)
all(a)
a.append(4)
a.pop()
a.extend([9,8])
a.insert(1,'a')
a.remove('a')
a.clear()
列表的推导式:
(五)元组
- Python的元组与列表类似,不同之处在于元组的元素不能修改。
- 元组使用小括号,列表使用方括号。
- 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
(六)字典
定义:字典是另一种可变容器模型,且可存储任意类型对象
格式:字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
d = {key1 : value1, key2 : value2 }
- 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
- 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
1、访问
把相应的键放入熟悉的方括弧
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "tinydict['Name']: ", tinydict['Name']
print "tinydict['Age']: ", tinydict['Age']
2、修改
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对
3、删除
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令。
4、特性
字典值可以没有限制地取任何 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
- 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行
5、内置函数与方法
(七)集合
定义:set是存放无顺序、无索引内容的容器
格式:{}
操作:消除重复元素、交叉并补等
特性:没有顺序、索引,无法指定位置进行访问,可以用遍历方式读取
常见数学运算:
(八)小结
参考:
https://www.runoob.com/python/python-lists.html
只能说大致回顾了一下,之后再汇总一下