实验目的

掌握python常用数据结构。

实验原理

python自带三种常用数据结构,在之后的数据分析数据处理过程中会经常使用到。

实验步骤

数据结构

Python中存在三种重要的数据结构,即列表、元组和字典,下面将一一介绍这三种数据结构。

列表:

列表是处理一组有序项目的数据结构,每个项目之间用逗号隔开,列表中的项目应该包括在方括号中。一旦创建了列表,就可以往列表中添加、删除和搜索其中的项目。添加项目可以通过append方法实现,删除项目可以通过del函数实现,搜索项目可以使用索引的方法。

例子:

ls = ['Monday','Tueaday','Wednesday','Thursday','Friday','Saturdat']

print

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语句打印内容要加括号!

results matching ""

    No results matching ""