首页 > 代码库 > Python学习笔记(三)
Python学习笔记(三)
一、元组
元组(tuple)跟列表很像,使用()包裹元素,是一种不可变的类型。
元组内部可以放置各种数据,不能进行增、减、改操作,只可以查看和删除。这里就要说到不可变的类型,一共有三种:数字、字符串、元组。其中数字和字符串都是标量类型,而元组是一个容器,它其中可以放入很多类型的元素。但是元组可以扩充,使用+
aTuple = ("one", "two", "three") aTuple = aTuple + ("four",) print aTuple
如果你当前操作的数据是动态的,在未来会频繁的进行修改操作,包括增、减、删、改等基本操作的时候,应该选择列表。
如果你在维护一些敏感数据,并且需要把这些数据传递给一个你并不了解的函数;或者有时候你只是在维护软件开发的一部分,你并不知道这些敏感的数据将来会被他人如何使用,那么将数据设置成不可变的,会使得这些内容安全很多。
同时,列表和元组之间也是可以互相转化的:
list() 函数用来生成一个空的列表,或者将其他数据转化为列表,包括元组。
tuple() 函数用来生成一个空的元组,或者将其他数据转化为元组,包括列表。
二、字典
字典,英文中经常以 dict 来标记(dictionary 的缩写),有时候也被称作 map。它和列表、元组一样,都是用来存放元素的容器。当然,它也有不同之处。字典不使用默认的自然数来索引值,而是用其他变量来显式的标记。我们可以把它理解成一种一对一的映射关系。在 Python 的字典结构中,每一个映射由一个键(key)和指向它的值(value)来确定的。
同时字典也是一个容器,里面可以存放任意数目、任意类型的数据。字典是使用花括号来包裹元素的,元素与元素之间用逗号","分割,每个元素由“键—值”配对构成,键与值之间使用冒号":"来连接。
players = { "Lionel Messi":"Barcelona", "Cristiano Ronaldo":"Real Madrid", "Kak":"AC Milan", "Beckham":"Manchester United", "Mickael Jordan":"Chicago Bulls", "Kobe Bryant":"Los Angeles Lakers" }
字典作为 Python 中唯一的哈希类型,有着广泛的应用。哈希表是一种数据结构,哈希表中的每一条数据(如 1xx 1234 5678),是根据它的键(sin)来进行存储的。哈希表的操作是这样的:根据你的键,执行一个叫做哈希函数的操作,计算出一个结果,这个结果就是值所存储的地址。也就是说一个值所存放的地址,取决于它的键。这种计算产生的结果有一定的随意性,所以哈希表的存储结构也是很“随意”的,不是连续的。而采用键来查找值,是非常非常快的。
字典的基本操作
可以根据键找到值,但是通过值找键就需要进行循环判断了。
players = { "Lionel Messi":"Barcelona", "Cristiano Ronaldo":"Real Madrid", "Kak":"AC Milan", "Beckham":"Manchester United", "Mickael Jordan":"Chicago Bulls", "Kobe Bryant":"Los Angeles Lakers" } aDict = dict() aDict = {"name":"me","location":"earth"} names = players.keys() teams = players.values() print names print teams print players["Lionel Messi"] def searchPlayer(team): for name in players: if players[name] == team: print name searchPlayer("Real Madrid")修改
aDict = {"name":"me", "location":"earth" } aDict["name"] = "chong" print aDict["name"] print aDict del aDict["name"] #删除某一个元素 aDict.clear() #删除字典内容,剩下一个空字典 del aDict #删除字典
●dict()
这个函数用来创建一个字典,如果括号中没有参数,则生成一个空的字典。但是如果括号里有了参数,这会是一个非常有意思的情形。dict 函数会接受一个序列,序列中的参数必须是两个部分,第一部分就是将来字典元素中的键,第二部分就是将来字典元素中的值。比如:
dict1 = dict([(1, 2), ("x", "y")])
print dict
实际上括号中的内容是可以迭代的序列就好,上例中的序列是元组,我们可以换成列表,效果是一样的。
●len()
len 函数会返回字典中“键-值”对的数目。
●keys()
key 函数会提取所有的键到一个列表中去。
●values()
values 函数会提取所有的值到一个列表中去。
●update()
update 函数用来将一个字典中的内容添加到另一个字典中,如果字典中有键与新加入的字典中的键冲突,那么新的键的值将会覆盖(替代)掉老的值。
●setdefault()
setdefault 函数是经常会用到的函数,它带有两个参数,代表一个“键-值”对。函数会首先完成一次搜索,如果键存在,则返回原来的值,新的值不会被更新;如果键不存在,那么就会插入一个新的“键-值”对。
Python学习笔记(三)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。