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

[Python入门]Chapter11 字典

2016-02-29 23:38 671 查看
字典像列表,但更一般。列表的索引必须是整数,但字典几乎可以是任何类型。

基本操作

新建一个字典

eng2sp=dict()

print eng2sp

增加元素

eng2sp[‘one’]=’uno’

print eng2sp

新建一个有多个元素的字典,注意其打印结果顺序。

eng2sp={‘one’:’uno’,’two’:’dos’,’three’:’tres’}

print eng2sp

函数len

print len(eng2sp)

查询键是否存在

‘one ’ in eng2sp

‘uno’ in eng2sp

查询值是否存在

vals=eng2sp.values()

‘one ’ in vals

颠倒查询

查询:给定一个字典d和关键字k,操作v=d[k]。

颠倒查询:给定一个v,查找对应的k。

问题:

1.若许多k映射同一个v,返回其中一个,还是全部k列表?

2.必须遍历v,没有简单语法实现。

解决:

这是一个简陋的版本,只返回第一个k。

def reverse_lookup(d,v):

 for k in d:

  if d[k]=v:

   return k

 raise ValueError

这是一个改进版。

def invert_dict(d):

 inv=dict()

 for key in d:

  val=d[key]

  if val not in inv:

   inv[val]=key

  else:

   inv[val].append(key)

 return inv
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python