python的数据结构

举报
基本资料 发表于 2021/02/06 20:36:49 2021/02/06
【摘要】 数据结构数据结构:是计算机存储、组织数据的方式,或者说是用来存储一组相关数据的方式。python内建数据结构:列表、元组、字典(1)列表列表(list):是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目,如购物清单、手机通讯录等。列表通常表示的是相关数据的集合。相比于把这些数据保存在单独的变量中,我们可以把它们以一个列表的形式来保存。定义列表:在python中定义列表需要使...
数据结构
数据结构:是计算机存储、组织数据的方式,或者说是用来存储一组相关数据的方式。
python内建数据结构:列表、元组、字典

(1)列表
列表(list):
是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目,如购物清单、手机通讯录等。
列表通常表示的是相关数据的集合。相比于把这些数据保存在单独的变量中,我们可以把它们以一个列表的形式来保存。

定义列表:
在python中定义列表需要使用方括号,列表中的元素都包含在方括号中,元素之间使用逗号分隔。列表中的数据可以是任意数据类型,甚至可以是不同类型的混合。
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
List4=[] -定义一个空的列表,其中并没有一个元素
Print(list1)输出列表中的元素

访问列表元素(list):
访问列表中的值,可以通过索引来获取,索引总是从0开始,而不是1开始,接下来的索引是1,以此类推。
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
list1[0]=“physics”, list1[1]=“chemistry”
list2[0]=1, list2[2]=3
另外,可以从后面获取列表的值,列表中的最后一个元素的索引是-1,倒数第二的索引是-2,以此类推。
list1[-1]=2000, list[-2]=1997
List2[-1]=7, list[-2]=6

更新列表
修改列表中的元素,如:
list2[2]=8, 那么list2=[1,2,8,4,5,6,7]

在列表中添加元素,可以使用append()函数,如:
list2.append(99),相当于在list2的末尾添加了99,现在list2=[1,2,8,4,5,6,7,99]。

删除列表中的元素,可以这么写del listname[要删除元素的索引],如:
del list2[5], 现在list2=[1,2,8,4,5,7,99] 。

(2)元组
元组:
是不可变的Python对象序列。元组的序列就像列表。唯一的区别是,元组不能被改变,即元组是不可被修改。元组使用小括号,而列表使用方括号。
元组定义:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = ("a", "b", "c", "d“);

访问元组:
访问元组的值,可以使用索引来获取元组中对应位置的值,这个和列表是一样的。
更新元组:两个元组合并
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
tup3 = tup1 + tup2;
Print( tup3);

空的元组由一对空的圆括号组成,比如t1=()
注意:定义含有1个元素的元组,需要在唯一的一个元素后跟一个逗号,这样python才能区分元组和表达式中一个带圆括号的对象。如果没加逗号,不打印(),只打印唯一的这一个元素

(3)字典

这种数据结构类似通讯录,有一个名字和名字对应的信息,可以通过名字查找对应的信息,在字典中名字叫‘键’,对应的内容叫‘值’字典就是一个键/值对的集合。

定义字典:
在python中定义字典使用花括号,字典中的键/值对之间使用逗号分隔,键和值之间使用冒号分隔。
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
Phone={“Tom”:15550231234, ”Jerry”:13102341234}

字典访问:通过字典的键来访问对应的值
字典更新:是通过赋值给键

列表、元组和字符串都是序列。序列的两个主要特征是:索引操作符、切片操作符。索引操作符也称为下标操作符
索引操作符可以从序列中抓取一个特定的元素,切片操作符可以从序列中获取序列的一个切片,即一部分序列
字符串也是一种序列,因此可以遍历字符串、使用索引操作符、切片操作符

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200