06-Python基础教程-数据集合的应用

06-Python基础教程-数据集合的应用

  • 最近更新2017年04月27日

六、数据集合的应用

6.1 list

第3行,定义了”listWord“并且初始化了三个列表元素。

第45行,使用”for…in“循环打印了列表内容。

第710行,使用”while“循环打印了列表内容。

列表的创建示例代码:

# -*- coding: utf-8 -*-
# list
的应用

# 创建空列表
empty_list1 = []
ecmty_list2 = list()

# 创建拥有同种类型的数据列表
number_list = [1, 2, 3, 4, 5]
char_list = [‘a’, ‘b’, ‘c’, ‘d’]

# 创建拥有不同类型的数据列表
chaos_list = [1, ‘a’, 2, ‘b’, ‘c’, 3]

# 利用现有的变量创建列表
a = 1
b = ‘b’
name_list = [a, b]

列表元素增加示例代码:

# -*- coding: utf-8 -*-
# list
的应用

# 创建空列表
empty_list = []
print empty_list

# 将数字1加入列表
empty_list.append(1)
print empty_list

# 将字符a加入列表
empty_list.append(‘a’)
print empty_list

# 将变量b中存储的数据加入列表
b = ‘b’
empty_list.append(b)
print empty_list

获取列表元素示例代码:

# -*- coding: utf-8 -*-
# list
的应用

# 创建列表
list1 = [‘aa’, ‘bb’, ‘cc’, ‘dd’, ‘ee’]

# 从列表中取出字符aa,索引操作
a = list1[0]
print a

# 从列表中取出字符bb,索引操作
b = list1[1]
print b

# 从列表中取出字符ee,索引操作
e = list1[-1]
print e

# 从列表中取出字符dd,索引操作
d = list1[-2]
print d

# 从列表中取出字符bb, cc, dd,并构成子列表,分片操作
bcd = list1[1:4]
print bcd

打印结果如下:

修改列表元素示例代码:

# -*- coding: utf-8 -*-
# list
的应用

# 创建列表
list1 = [‘aa’, ‘bb’, ‘cc’, ‘dd’, ‘ee’]

# 将字符aa修改为0
list1[0] = 0
print list1

# 删除列表中的字符ee
del list1[-1]
print list1

# 删除列表中的字符cc, dd
del list1[2:4]
print list1

打印结果如下:

创建数字列表的简便方法,示例代码如下:

# -*- coding: utf-8 -*-
# list
的应用

# 创建一个列表,其中包含0-10的数字
alist = range(0, 11)
print alist

打印结果如下:

6.2 tuple

第3行,定义了”tupleWord“并且初始化了三个元组元素。

第45行,使用”for…in“循环打印了元组内容。

第710行,使用”while“循环打印了元组内容。

第3行,定义了”tupleWord“并且初始化了四个元组元素,其中,第四个元素内容为list列表。

第45行,使用”for…in“循环打印了元组内容。

第710行,使用”while“循环打印了元组内容。

第12行,用数组形式,打印元组中的列表元素。

第3行,定义了”tupleWord“并且初始化了四个元组元素,其中,第四个元素内容为list列表。

第45行,修改了元组中列表的内容内容。

第6行,用数组形式,打印元组中的列表元素。

那么问题就来了,上节课我们提到tuple的特性,tuple是Python中别一种有序但不可变的数据集合,我们称之为元组。它与list类似,唯一不同的是,tuple一旦创建就不能修改。为什么我们修改了它,却可用呢?我们来看一个它的存储结构。

从表面上看,tuple的元素改变了,实质tuple本身并没有改变,改变的是它所指向的list,所以对于tuple而言,所谓的不变,并不是每个元素都不变,而是说它所指向的内容不变,上图对tuple进行了很好的诠释,红色部分是不变的部分,而绿色是可变的部分。

创建tuple的示例代码如下:

# -*- coding: utf-8 -*-
# tuple
的应用

# 创建空元组
tuple1 = ()
tuple2 = tuple()

# 创建元组,有字符a, b, c, d
tuple3 = (‘a’, ‘b’, ‘c’, ‘d’)

6.3 dict

第5行,定义了字典。

第7〜8行,通过枚举key值,循环打印了所有元素,这里要注意”+“号具有连接字符的作用。

第1011行,通过枚举元素数量,循环打印了所有元素。

第13〜14行,通过迭代元素(迭代会在后面的章节讲解),循环打印了所有元素。

通过代码,我们可以看出,对于字典的遍历有三种方法,分别是:”for … in“、”items“和”iteritems“。

dict的基本应用示例如下:

# -*- coding: utf-8 -*-
# dict
的应用

# 创建字典
mydict = {‘apple’:
苹果, ‘banana’:香蕉, ‘grape’:葡萄, ‘orange’:橙子}

# 添加
mydict[‘pear’] =

# 删除
del(mydict[‘grape’])
mydict.pop(‘banana’)

# 修改
mydict[‘apple’] =
小苹果

# 清除所有数据
mydict.clear()

6.4 set

第5〜6行,初始化了set

第10行,添加一个元素”!”。

第12行,同时添加了两个元素,分别为”p”与”y”。

第13行,同时添加了多个元素,分别为”t”、”h”、”o”和”n”。

第15行,删除了元素”w”。

第18行,x和y的并集。

第19行,x和y的交集。

第20行,x和y的差集,在x中,但不在y中。

第21行,x和y的对称差集,在x或y中,但不会同时出现在两都中。

6.5 for…in循环的应用

请通过如下代码,深入理解for…in的应用。

# -*- coding: utf-8 -*-
# for
的应用

# 打印1-5的数值,方法一。
for i in [1, 2, 3, 4, 5]:
print i
#
打印1-5的数值,方法二。
for j in range(1, 6):
print j

# 打印字符内容,并计算其长度,写法一。
for name in [‘Tom’, ‘Jack’, ‘Rose’]:
print name,
print len(name)

# 打印字符内容,并计算其长度,写法二。
names = [‘Tom’, ‘Jack’, ‘Rose’]
for name in names:
print name,
print len(name)

names = (‘Tom’, ‘Jack’, ‘Rose’)
for name in names:
print name,
print len(name)

分享到 :
相关推荐

发表回复

登录... 后才能评论