实验目的
掌握python常用数据结构。
实验原理
python自带三种常用数据结构,在之后的数据分析数据处理过程中会经常使用到。
实验步骤
数据结构
Python中存在三种重要的数据结构,即列表、元组和字典,下面将一一介绍这三种数据结构。
列表:
列表是处理一组有序项目的数据结构,每个项目之间用逗号隔开,列表中的项目应该包括在方括号中。一旦创建了列表,就可以往列表中添加、删除和搜索其中的项目。添加项目可以通过append方法实现,删除项目可以通过del函数实现,搜索项目可以使用索引的方法。
例子:
ls = ['Monday','Tueaday','Wednesday','Thursday','Friday','Saturdat']
ls ['Monday', 'Tueaday', 'Wednesday', 'Thursday', 'Friday', 'Saturdat']
#往列表中添加项目
ls.append('Sunday')
print ls
['Monday', 'Tueaday', 'Wednesday',
'Thursday', 'Friday', 'Saturdat', 'Sunday']
需要注意的是,append方法每次只能往列表中加入一个项目。
#使用循环将列表中的一周7天打印出来
print 'A week has 7 days, there are:'
for i in ls:
print i
A week has 7 days, there are:
Monday
Tueaday
Wednesday
Thursday
Friday
Saturdat
Sunday
#使用del函数删除列表中的某一项 del ls[0] #删除列表中的第一个项目
print ls ['Tueaday', 'Wednesday',
'Thursday', 'Friday', 'Saturdat', 'Sunday']
列表中的内容增值可减,其属于可变的数据结构类型。
列表的容忍度非常高,可以装下很多种东西,如列表中可以放置任何数据类型,如字符串、数值、列表、元组、字典等。
ls2 = ['LiuShunxiang',26,['Male','DA',1],(1,2,3),{'Friend':'xxx'}]
print(ls2)
['LiuShunxiang', 26, ['Male', 'DA', 1], (1, 2, 3), {'Friend': 'xxx'}]
元组
元组与列表类似,其不同之处在于元组是不可变的数据结构类型,无法实现往元组中增加或减少元素。元组通过圆括号将元素组合在一起,中间用逗号隔开。
例子:
t = ('1a','2b','3c','4d','5e','6f','7g')
print t
('1a', '2b', '3c', '4d','5e', '6f', '7g')
元组最普遍的用法是与转义字符一起使用。
print ' Name: %s Gender: %s
Age: %d\n Score: %.2f'%('LiuShunxiang\n','Male\n',26,89.736)
Name: LiuShunxiang
Gender: Male Age: 26 Score: 89.74
其中,\n为转义字符,表示换行;%s、%d和%.2f表示数据类型,分别为字符型、整数型和浮点型,且浮点型数据保留2位。
字典
字典的本质就是将多个项目对紧紧的联系在一起,正如身份证号对应一个人,Python的术语将“身份证”命名为键,“人”命名为值。这里需要强调的是,键必须是唯一的,而值可以是重复的。字典的写法如下:
{key1:value1,key2:value2,…,keyn:valuen}
键与值之间用冒号隔开,多个键值之间用逗号隔开,他们用花括号括起来。字典也可以添加或删除键值,其为可变的数据结构类型。
例子:
MemInfo = {'id1':'abc','id2':'bcd','id3':'cde','id4':'def'}
print( MemInfo)
{'id4': 'def', 'id2': 'bcd', 'id3': 'cde', 'id1': 'abc'}
字典不像列表和元组可以通过索引获取指定位置的值,而字典只能够通过指定键才能返回对应的值。
print "id1's name is:",MemInfo['id1'] id1's name is: abc
#或者
print "id3's name is %s"%MemInfo['id3'] id3's name is cde
添加键值
MemInfo['id5'] = 'LiuShunxiang'
print MemInfo
{'id4': 'def', 'id5': 'LiuShunxiang','id2': 'bcd', 'id3': 'cde', 'id1': 'abc'}
删除键值
del MemInfo['id2']
print MemInfo
{'id4': 'def', 'id5': 'LiuShunxiang','id3': 'cde', 'id1': 'abc'}
通过字典的items方法可将每一对键值以元组的形式存放在列表中
MemInfo.items()
[('id4', 'def'), ('id5', 'LiuShunxiang'), ('id3', 'cde'),('id1', 'abc')]
可通过for循环把对应的键值打印出来。
for id, name in MemInfo.items():
print id,name
id4 def
id5 LiuShunxiang
id3 cde id1 abc
或者
for ID, Name in MemInfo.items():
print 'ID is:%s, Name is:%s'%(ID,Name)
ID is:id4, Name is:def
ID is:id5, Name is:LiuShunxiang
ID is:id3, Nameis:cde
ID is:id1, Name is:abc
注意:python2中print语句不加括号,python3中print语句打印内容要加括号!