【有书共读05】《python编程》读书笔记04
在经过几周的学习,我熟悉了python的几种数据结构————列表、元组、字典
但是我也发现几个数据结构十分相似,所以我决定用本文来介绍一下他们的不同点。
下面是这几个数据结构的简介(转,侵删)
1.列表
list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目。列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表。一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的,并且列表是可以嵌套的。
实例:
#coding=utf-8 animalslist=['fox','tiger','rabbit','snake'] for items in animalslist: print( items)
2.元组
元祖和列表十分相似,不过元组是不可变的。即你不能修改元组。元组通过圆括号中用逗号分隔的项目定义。元组通常用在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用的元组的值不会改变。元组可以嵌套。
>>> zoo=('wolf','elephant','penguin') >>> zoo.count('penguin') 1 >>> zoo.index('penguin') 2 >>> zoo.append('pig') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'tuple' object has no attribute 'append' >>> del zoo[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object doesn't support item deletion3 字典
字典类似于你通过联系人名称查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。
键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。另外,记住字典中的键/值对是没有顺序的。如果你想要一个特定的顺 序,那么你应该在使用前自己对它们排序。
实例:
#coding=utf-8 dict1={'zhang':'张家辉','wang':'王宝强','li':'李冰冰','zhao':'赵薇'} #字典的操作,添加,删除,打印 dict1['huang']='黄家驹' del dict1['zhao'] for firstname,name in dict1.items(): print (firstname,name) 结果:li 李冰冰
wang 王宝强
huang 黄家驹
zhang 张家辉
(如果感觉不够详细,可以参考我的前几个帖子)
(以下是我自己总结的,如有错误,请联系我!!!)
相同点:
①这几种数据结构都是连续存储数据的一种结构。
②可以存储的数据是多种多样的(不像C++的数组,只能存储单一的数据类型)
不同点(敲黑板,重点!!!):
①初始化方式不同:
a=[] 初始化列表
b=() 初始化元组
c={} 初始化字典
②可更改性不同
列表和字典可以更改,元组不可以更改!
③存储方式不同:
列表、元组存储的是值;
字典存储的是键值对:
④访问元素方式不同:
列表、元组通过索引访问值;
字典通过键访问值;