Python Tik
|
|
|
编程基础 基本数据类型 操作符和表达式 控制语句的执行顺序 函数 模块 数据结构 类 输入输出 异常处理 标准库概要 Python应用 网络应用 数据库应用 图形用户界面开发 游戏开发 Python交流 博客 Python论坛
|
数据结构数据结构是一种结构,它们用以把一些数据存储在一起。在python中有三种内建的数据结构:列表(list)、元组(tuple)、字典(dictionary)。 1、列表列表由一对方括号括起来,其中的项目之间以逗号分隔。你可以在列表中增加、删除、查寻项目。示例如下:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: using_list.py
#定义一个列表函数
def listshop(xshoplist):
for xitem in xshoplist:
print xitem,
# 一个商品列表
shoplist = ['苹果', '桔子', '芒果', '香蕉']
print '这儿有', len(shoplist), '种水果.'
print '它们是:', # 注意这里的逗号
listshop(shoplist)
print '\n再加一种水果西瓜.'
shoplist.append('西瓜')
print '列出现在的水果', listshop(shoplist)
print '给它们排个序'
shoplist.sort()
print '列出排序后的水果', listshop(shoplist)
print '排在列表中第一的水果是', shoplist[0]
olditem = shoplist[0]
del shoplist[0]#删除列表中的第一个项目
print '买掉这第一个水果', olditem
print '列出现在的水果', listshop(shoplist)
raw_input('(按任意键退出)')
运行输出如下:
$ python using_list.py 1、shoplist = ['苹果', '桔子', '芒果', '香蕉']定义了一个由商品名称构成的一个名为shoplist的列表。列表中的元素可以是任何对象。在Python中一切都是对象。 2、print语句中的逗号的作用是禁止自动换行。 3、shoplist.append('西瓜')的append是列表对象的一个方法,用以为列表增加一个项目。 4、shoplist.sort()为列表中的项目排序。 5、shoplist[0]引用列表中的第一个元素。列表中元素的索引值从左到右由0开始。 6、del shoplist[0]删除列表中的第一个元素。del是列表的删除方法。 2、元组元组由一对圆括号括起来,其中的项目之间以逗号分隔,元组中的元素可以是任何对象。元组是不可变的,你不要试图改变其中的元素。示例如下: 例1:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: using_tuple.py
zoo = ('wolf', 'elephant', 'penguin')#建立一个名为zoo的元组
print 'zoo 中的元素的数量是:', len(zoo)
#len是元组的方法,用以得到其中的元素个数
new_zoo = ('monkey', 'dolphin', zoo)
print ' new_zoo 中的元素的数量是:', len(new_zoo)
print 'new_zoo 中的动物有', new_zoo
print '来自zoo中的动物有', new_zoo[2]#引用第三个元素zoo,也是一个元组
print 'zoo中最后一个动物是', new_zoo[2][2]#引用元组zoo的第三个元素
raw_input('(按任意键退出)')
运行输出如下:
$ python using_tuple.py
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: print_tuple.py
age = 22
name = 'pythontik'
print '%s is %d years old' % (name, age)
#格式化打印,我们经常这样使用元组
#name对应%s(字符串),age对应%d(整数);必须一一对应
print 'Why is %s playing with that python?' % name
raw_input('(按任意键退出)')
运行输出如下:
$ python print_tuple.py 3、字典字典是由花括号括起来的键值对。键值对是由 名字:值 构成,键值对之间由逗号分隔;名字是不可变且唯一的,名字和值是一对一的关系,我们可以通过名字来访问它的值。示例如下:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: using_dict.py
#下面建造一个字典pythontik
pythontik = { 'zhao': 'zhao@pythontik.com',
运行输出如下:
$ python using_dict.py 4、序列列表、元组和字符串都是序列,序列有两个主要的特点:索引操作和切片操作。 我们可以通过索引操作直接访问序列中的某一值;通过切片操作来检索序列中的某一部份。示例如下:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: seq.py
shoplist = ['apple', 'mango', 'carrot', 'banana']
# 以下是索引操作
print 'Item 0 is', shoplist[0]
print 'Item 1 is', shoplist[1]
print 'Item 2 is', shoplist[2]
print 'Item 3 is', shoplist[3]
print 'Item -1 is', shoplist[-1]
print 'Item -2 is', shoplist[-2]
#列表中的切片操作
print 'Item 1 to 3 is', shoplist[1:3]
print 'Item 2 to end is', shoplist[2:]
print 'Item 1 to -1 is', shoplist[1:-1]
print 'Item start to end is', shoplist[:]
#字符串的切片操作
name = 'swaroop'
print 'characters 1 to 3 is', name[1:3]
print 'characters 2 to end is', name[2:]
print 'characters 1 to -1 is', name[1:-1]
print 'characters start to end is', name[:]
raw_input('(按任意键退出)')
运行输出如下:
$ python seq.py 5、引用当我们创建了一个对象并把它赋给(=)一个变量后,这个变量就指向了这个对象,也就是说它指向了存储这个对象的内存区域。但如果我们用切片的方法来复制给变量的话,那它们之间是不会互相影响的,各有各的内存区域。示例如下:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: reference.py
print 'Simple Assignment'
shoplist = ['apple', 'mango', 'carrot', 'banana']
mylist = shoplist # 将对象赋给变量
del shoplist[0] #从列表中删除第一个元素
print 'shoplist is', shoplist
print 'mylist is', mylist
#以上两句的输出是相同的
print 'Copy by making a full slice'
mylist = shoplist[:] #切片后复制给变量
del mylist[0] # 删除第一个元素
print 'shoplist is', shoplist
print 'mylist is', mylist
# 以上两句的结果是不同的
raw_input('(按任意键退出)')
输出如下:
$ python reference.py |
版权所有 联系方式 email:zzjcs1971@163.com QQ:397987442 |
|
|---|---|