Python之‘数据结构’

简介

数据结构基本上就是--它们是可以处理一些数据的结构。或者说,它们是用来存储一组相关数据的。在Python里面有三种内建的数据结构--列表、元组和字典。

一、列表

list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。假象你有一个购物列表,上面记载着你想买的东西,就容易理解列表了。只不过在你的购物列表上,可能每样东西都独自占有一行,而在Python中,你在每个项目之间用逗号分隔。

列表中的项目应该包含在方括号中,这样Python就知道你在指明一个列表。一旦你创建一个列表,你可以添加、删除或是搜索列表中的项目。由于你可以添加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的。

#this is my shoping list
shoplist = [‘apple‘,‘mango‘,‘carrot‘,‘banana‘]
print(‘i have‘,len(shoplist),‘items to purchase‘)
print(‘These items are‘),
for item in shoplist:
    print(item)

结果:
i have 4 items to purchase
These items are
apple
mango
carrot
banana

Process finished with exit code 0

二、元组

元组和列表十分类似,只不过元组和字符串一样是不可变的即你不可以修改元组。元组通过圆括号中用逗号分隔的项目定义。元组通常用在使语句或用户定义的函数能够安全的采用一组值得时候,即被使用的元组的值不会改变。

zoo = (‘wolf‘,‘elephant‘,‘penguin‘)
print(‘Number of animals in the zoo is‘,len(zoo))

new_zoo = (‘monkey‘,‘dolphin‘,zoo)
print(‘Number of anmials in the new zoo is‘,len(new_zoo))
print(‘All anmials in the new zoo are‘,new_zoo)
print(‘A anmials brought from old zoo are‘,new_zoo[2])
print(‘Last anmial brought form old zoo is‘,new_zoo[2][2])

结果:
Number of animals in the zoo is 3
Number of anmials in the new zoo is 3
All anmials in the new zoo are (‘monkey‘, ‘dolphin‘, (‘wolf‘, ‘elephant‘, ‘penguin‘))
A anmials brought from old zoo are (‘wolf‘, ‘elephant‘, ‘penguin‘)
Last anmial brought form old zoo is penguin

三、字典

字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像是如果有两个人恰巧同名的话,你无法找到正确信息。

注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以把不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。

键值在字典中以这样的方式标记:d = {key1 : value1,key2 : value2}。注意它们的键/值对用冒号分割,而各个对应用逗号分割,所有这些都包括在花括号内。

记住字典的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用它们之前对它们排序。

ab = {
    ‘Swaroop‘ : ‘[email protected]‘,
    ‘Larry‘ : ‘[email protected]‘,
    ‘Matsumoto‘ : ‘[email protected]‘,
    ‘Spamma‘ : ‘[email protected]‘

}
print(‘Swaroop address is‘,ab[‘Swaroop‘])
print(‘Larry address is‘,ab[‘Larry‘])

结果:
Swaroop address is [email protected]
Larry address is [email protected]

四、序列

序列有两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。

shoplist = [‘apple‘,‘mango‘,‘carrot‘,‘banana‘]

print(‘Item0 is‘,shoplist[0])
print(‘Item1 is‘,shoplist[1])
print(‘Item3 is‘,shoplist[3])
print(‘Item-1 is‘,shoplist[-1])

print(‘Item 1 to 3 is‘,shoplist[1:3])

结果:
Item0 is apple
Item1 is mango
Item3 is banana
Item-1 is banana
Item 1 to 3 is [‘mango‘, ‘carrot‘]

五、引用

当你创建一个对象并给它附一个变量的时候,这个变量仅仅引用那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。

时间: 2024-10-14 03:02:40

Python之‘数据结构’的相关文章

python 常用数据结构使用

python 字典排序 http://www.cnblogs.com/kaituorensheng/archive/2012/08/07/2627386.html 函数原型 sorted(dic,value,reverse) dic为比较函数,value 为排序的对象(这里指键或键值), reverse:注明升序还是降序,True--降序,False--升序(默认) 案例 dic = {'a':3 , 'b':2 , 'c': 1} 注意 排序之后原字典没有变,顺序依旧 python 常用数据结

python基本数据结构序列

python基本数据结构序列 ,六种内建序列类型:列表 元组字符串  Unicode字符串  buff对象和xrange对象 序列通用操作: 索引:元素的编号是从 0开始的 到索引号为负数时 查找方式是从右到左的 索引写在[]中 分片:类似索引的操作可以指定范围,当为一个对象创造副本时可以用 b = a[:] 这样的形式创建,这样 当 a被操作时不会影响 b  因为他们指向的不是同一块区域 相加:表示连接操作,列表连接后是新的列表不能改变列表原有的结构,序列相加时候要同种类型  进行,否则会报

用Python实现数据结构之二叉搜索树

二叉搜索树 二叉搜索树是一种特殊的二叉树,它的特点是: 对于任意一个节点p,存储在p的左子树的中的所有节点中的值都小于p中的值 对于任意一个节点p,存储在p的右子树的中的所有节点中的值都大于p中的值 一个图例: 基于二叉搜索树的这种关系,我们可以用它来实现有序映射 遍历二叉搜索树 基于二叉搜索树的特性,采用中序遍历的方式可以使得遍历结果是按照从小到大的顺序排列的.了解中序遍历可以参考用Python实现数据结构之树 这里还需要思考的一个内容是在基于中序遍历的前提下,如何求一个节点的后继节点或前驱节

python实现数据结构单链表

#python实现数据结构单链表 # -*- coding: utf-8 -*- class Node(object): """节点""" def __init__(self, elem): self.elem = elem self.next = None # 节点一开始初始化的时候并不知道下一个元素的地址,所以先设置为空 class SingLinkList(object): """单链表""

python常见数据结构整理

Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) 序列中的每个元素都有自己的编号.Python中有6种内建的序列.其中列表和元组是最常见的类型.其他包括字符串.Unicode字符串.buffer对象和xrange对象.下面重点介绍下列表.元组和字符串. 1.列表 列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. (1).创

[0x01 用Python讲解数据结构与算法] 关于数据结构和算法还有编程

忍耐和坚持虽是痛苦的事情,但却能渐渐地为你带来好处. ——奥维德 一.学习目标 · 回顾在计算机科学.编程和问题解决过程中的基本知识: · 理解“抽象”在问题解决过程中的重要作用: · 理解并实现抽象数据结构: · 复习Python编程语言 二.写在前面 自第一台电子计算机使用线路和开关传达人类的指令以来,我们编程的思考方式有了很大的改变,在很多方面,计算机技术的发展为计算机科学家提供了众多的工具和平台去实现他们的想法.高性能理器,高速网络和大内存使得计算机研究者必须掌握在这样复杂的螺旋式通道中

python常用数据结构

python中有四种最常用的数据结构,分别是列表(list),字典(dict),集合(set)和元组(tuple) 下面简单描述下它们的区别和联系 1.初始化 不得不说,python数据结构的初始化比java是简单的多了. list=[] dict={} tuple=(1,2,) set=([1,2,3]) 初始化之后,print set 结果是:{1,2,3},可以发现,其实set就是没有value的dict 2.是否有序 list和tuple是有序的,dict和set是无序的 3.是否可变

python 5 数据结构

转载: http://www.cnblogs.com/known/archive/2010/09/03/1817499.html python中有三个内建的数据结构, 列表, 元组, 和 字典 1. 列表 (List) 列表用一堆方括号[] 表示, 没想数据之间用 逗号 隔开, 一旦你建立了一个列表, 你可以对它进行添加, 删除, 或搜索. 所以列表是可以改变的 2. 元组 元组和列表相似,但是 元组是不可以改变的!元组是用() 表示的, 每项数据之间也是用逗号隔开, 元组通常用在使语句或者用户

python和数据结构

在紧张的备考日语的过程中抽时间刷一下北京大学的python数据结构.查缺补漏. /整除 >>>divmod(9,5) (1,4) /复数 >>>import cmath >>>(1+2j)*(1+3j) (-5+5j) >>>(1+4j).imag 4.0 >>>(1+4j).real 1.0 早就已经知道的C语言要想使用一个变量必须先初始化,Python的变量机制是引用数据对象,例如赋值语句'a = 0'是创建a这