个人认为,数据结构,即数据的展现形式,可以理解为对数据(例如常亮、变量等)进行组织、运用等进行操作的形式。在python,对一系列数据的操作,主要有列表list、元数tuple、字典dictionary、集合set四种形式。单个的数据可以认为其结构是常量、变量。
1. 列表list是一种组织数据的形式。例如 str1=['a','b','c'].str1列表中有三个数据。列表的特点是使用[]组织数据,列表里的数据可以随意删减。在python时,可以对列表进行多种操作。例如增加数据,str.append(‘d’)。列表中增加一个数据d。删减数据 直接用del。
str1=['a','b','c'] str1.append('d') print(str1) del str1[0] print(str1)
compiled如下:
['a', 'b', 'c', 'd']
['b', 'c', 'd']
2.元组,元字表明元组是最基础的数据组织,例如 str1=('a','b','c'),元组的特点是数据采用()进行组织,不能随意进行数据操作,且都是常量。因此元组tuple的调用方式比列表list要少,需要保持数据的原始性。
str1=('a','b','c') print(str1[0])
3.字典,是一种基于键值与值之间的组合数据结构,可以应用于数据查找方面,例如hash函数。str=['a':1,'b':2,'c':3].其特点是采用[]与:进行组织,由于字典内的数据随机排列,因此对字典进行引用不能采用数字[0],而需要应用['a']进行。
str1={'a':1,'b':2,'c':3} del str1['b'] sorted(str1) for val in str1: print(val)
compiled如下: a c
4.集合set:一组数据的组合顾名思义为集合。str1={'a','b','c',}其特点数据不能重复,排列无序。集合的运算类似于数学的的交集并集等。例如集合A和集合B。交集 A&B 并集 A|B ,A-B ,A^B
A={'h','e','l','o'} B={'k','l','h'} print("A+B=",A|B) print("A&B=",A&B) print("A-B=",A-B)
compiled如下:
A+B= {'k', 'l', 'o', 'h', 'e'}
A&B:={'l', 'h'}
A-B:={'o', 'e'}
当然数据结构形式可以相互转换。例如A、B、C之间的类型变换。
A={'h','e','l','o'} B=list(A) C=tuple(A) print("B:",B) print("C:",C)