-数据结构:是计算机存储、组织数据的方式,或者说是用来存储一组相关数据的
-python内建数据结构:
?列表
?元组
?字典
一、列表
列表(list):是处理一组[有序]项目的数据结构,即可以在一个列表中存储一个序列的项目,如购物清单、手机通讯录等。
(1)定义列表:在python中定义列表需要使用方括号,列表中的项目都包含在方括号中,项目之间使用逗号分隔。列表中的数据可以是任意数据类型,甚至可以是不同类型的混合。
list1 = ['physics','chemistry', 1997, 2000];
list2 = [1, 2, 3, 4,5 ];
list3 =["a", "b", "c", "d"];
(2)访问列表元素(list)——查:访问列表中的值,请使用方括号沿切片带索引或索引来获得可用的索引对应的值。
list1 = ['physics','chemistry', 1997, 2000];
list2 = [1, 2, 3, 4,5, 6, 7 ];
print(list1[0])
print(list2[1:5])? (下标 [1,5))
(3)更新列表——修改
list[2] = 2001
(4)添加
添加方法: 列表名.append(要增加的数据)?
(5)删除
删除方法: ①列表名.remove(要增加的数据)
? ? ? ? ? ? ? ? ? ? ②del 列表名[索引]
? ? ? ? ? ? ? ? ? ? ③列表名.pop(索引)
(6)列表的相关方法
二、元祖
元组:是不可变的Python对象序列。元组的序列就像列表。唯一的区别是,元组不能被改变,即元组是不可被修改。元组使用小括号,而列表使用方括号。
-元组定义:
tup1 = ('physics', 'chemistry', 1997,2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b","c", "d";
(1)访问元组——查:
访问元组的值,使用方括号沿切片及索引或索引来获得可用的索引对应的值
①列表名[索引] ? ②切片——列表名[索引,索引]
(2)更新元组——改(元组无法通过索引更改内部数据)
tup3 = tup1+tup2 ? 拼接
(3)空元组和单元素元组
空的元组由一对空的圆括号组成,比如t1=()
然而,定义含有1个元素的元组,需要在唯一的一个元素后跟一个逗号,这样python才能区分元组和表达式中一个带圆括号的对象,比如t1=(1,)
三、字典
这种数据结构类似通讯录,有一个名字和名字对应的信息(数值),可以通过名字查找对应的信息,在字典中名字叫‘键’,对应的内容叫‘值’字典就是一个键/值对的集合。
(1)定义字典
在python中定义字典使用花括号,字典中的键/值对之间使用逗号分隔,键和值之间使用冒号分隔。比如:dict = { 'abc': 123, 98.6: 37 };
(2)字典访问——查
通过字典的键来访问对应的值
dict = {'Name': 'Zara','Age': 7, 'Class': 'First'};
print (“dict[‘Name’]”)
(3)字典更新——改
dict = {'Name': 'Zara','Age': 7, 'Class': 'First'};
dict['Age'] = 8; # update existing entry
(4)字典增加数据——增
dict['School'] ="DPS School"; ?#直接定义新的‘键’来增加字典数据
(5)字典删除——删
①clear()方法
clear()方法是用来清除字典中的所有数据,因为是原地操作,所以返回None(也可以理解为没有返回值)
>>> x['name'] = 'lili'
>>> x['age'] = 20
>>> x
{'age': 20, 'name': 'lili'}
>>> x.clear()
>>> x
{ }
②pop()方法
删除指定给定键所对应的值,返回这个值并从字典中把它移除。注意字典pop()方法与列表pop()方法作用完全不同。
>>> x = {'a':1,'b':2}
>>> x.pop('a')
>>> x
{'b': 2}
③popitem()方法
随机返回并删除字典中的一对键和值(项)。为什么是随机删除呢?因为字典是无序的,没有所谓的“最后一项”或是其它顺序。在工作时如果遇到需要逐一删除项的工作,用popitem()方法效率很高。
>>> x
{'url': 'www.iplaypython.com', 'title': 'python web site'}
>>> x.popitem()
('url', 'www.iplaypython.com')
>>> x
{'title': 'python web site'}
四、字符串
(1)字符串转换成列表
字符串和列表list之间可以相互转换,将字符串转换成列表使用字符串。
转换方法:str.split(字符串中的某字符)? 定界符 分隔符
>>>aa ='hello world'
>>>bb = aa.split() ? ? ?#不填写默认以空格分隔
>>>print(bb)
['hello', 'world']
>>>?bb = aa.split('w') ? ?#分隔符在新列表不会显示
['hello ', 'orld']
(2)将列表拼接成字符串
?list1.join(list2)方法 ? ?列表中的内容
>>>aa = ['hello ','orld']
>>>bb ='w'
>>>cc = bb.join(aa)
>>>print(cc)
hello world
(3)字符串也是一种序列,因此可以遍历字符串、使用索引操作符、切片操作符
注意:不能使用索引访问去改变字符串中的字符