您的位置:首页 > 编程语言 > Python开发

开始接触python 配置还有一些 容器的东西

2014-07-23 18:35 288 查看
因为需要所以接触了一下python, 没怎么看就试着去弄弄,慢慢学吧其实也没差多少。

安装配置 我使用的是 window下的python的Flask 框架

安装配置参考这个了:/article/1581547.html

然后使用的刚开始就看了一些容器的东西,比如dict,set,list,参考:/article/7310227.html

dict 还有set 其实都是基于hashmap来实现的,所以他们的搜索效率是很高的,这就是性能里推荐使用in set的原因,下面会贴个性能的文章。

字典(dict)

dict 用 {} 包围

dict.keys(),dict.values(),dict.items()

hash(obj)返回obj的哈希值,如果返回表示可以作为dict的key

del 或 dict.pop可以删除一个item,clear清除所有的内容

sorted(dict)可以吧dict排序

dict.get()可以查找没存在的key,dict.[]不可以

dict.setdefault() 检查字典中是否含有某键。 如果字典中这个键存在,你可以取到它的值。 如果所找的键在字典中不存在,你可以给这个键赋默认值并返回此值。

{}.fromkeys()创建一个dict,例如: {}.fromkeys(('love', 'honor'), True) =>{'love': True, 'honor': True}

不允许一个键对应多个值

键值必须是哈希的,用hash()测试

一个对象,如果实现_hash()_方法可以作为键值使用

集合(set)

集合是一个数学概念,用set()创建

set.add(),set.update.set.remove,添加更新删除,-= 可以做set减法

set.discard 和 set.remove不同在于如果删除的元素不在集合内,discard不报错,remove 报错

< <= 表示 子集,> >=表示超集

| 表示联合 & 表示交集 - 表示差集 ^ 差分集里啊

列表(list)

列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等。列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作。可以通过list(seq)函数把一个序列类型转换成一个列表。

append(x) 在列表尾部追加单个对象x。使用多个参数会引起异常。

count(x) 返回对象x在列表中出现的次数。

extend(L) 将列表L中的表项添加到列表中。返回None。

Index(x) 返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。

insert(i,x) 在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。

pop(x) 删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。

remove(x) 删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。

reverse() 颠倒列表元素的顺序。

sort() 对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。

元组(tuple) 也相当于不可修改的list可以说。。

tuple=(1,),这是单个元素的元组表示,需加额外的逗号。

tuple=1,2,3,4,这也可以是一个元组,在不使用圆括号而不会导致混淆时,Python允许不使用圆括号的元组。

和列表一样,可对元组进行索引、分片、连接和重复。也可用len()求元组长度。

元组的索引用tuple[i]的形式,而不是tuple(i)。

和列表类似,使用tuple(seq)可把其它序列类型转换成元组。

然后下面是看到的一个文章,关于性能的一些选择,贴一下吧:

http://www.oschina.net/question/1579_45822

其实注意了一些小的东西后,也不用最求的太极端~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: