`
onlynima
  • 浏览: 5297 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

从零开始学Python

 
阅读更多

第三章:字典

1.创建字典:

book={zq:18,wex:15,:}其中值可以是任意类型,可以是元组或者字典.

2.dict函数创建字典

   通过映射创建:

     book={zq:18,wex:15}

     d=book.dict

     输出d:book={zq:18,wex:15}

   通过关键字创建:

     d=dict(name=zq,age=1)

     输出d:{age:18,name:zq} 

3.字典的格式化字符串

  %()s%字典名

       book={zq:18,wex:15,:}

       name is %(zq)s%book

       输出: name is zq

4.字典方法

   clear,清除字典中所有的项,原地操作,因此无返回值(或者返回None)

      book={zq:18,wex:15,:}

      book.clear()

      输出d:{}

    特别地:若有字典1=字典2,字典1={}时,字典2不会为空,若字典1.clear(),字典2则会清空.

   copy, 实现浅复制,返回相同键值的新字典

     book={zq:18,wex:15,:}

     x=book.copy()

    输出x{zq:18,wex:15,:}

        在副本x中替换值的时候,原始字典不受影响,但是如果修改了某个值(如删除等)原始字典也会改变。

   防止以上情况可以实现深复制:

      from copy import deepcopy

      book={zq:18,wex:15,:}

      x=deepcopy(book)

  fromkeys 方法使用给定的键建立新的字典,每个键默任为None;

{}.fromkeys([name,age])

输出:{age:None,name:None}

  get方法访问字典中的项,存在则输出,不存在则返回None

book={zq:18,wex:15,:}

print(book.get(rjy))

输出:None

  has_key检查字典是否有某一个键P3.0以上无此方法

book={zq:18,wex:15,:}

book.has_key(rjy)

False

  itemsiteritems方法,items方法将字典中所有的项以列表的方式返回,无顺序

book={zq:18,wex:15,:}.items()

  keysiterkeys方法,将字典中的键以列表的方式返回,后者的为迭代器

  pop方法获得给定的键,然后将其删除

      book={zq:18,wex:15,:}

  book.pop(zq)

  输出:book={wex:15,:}

  popitem方法随机删除列表中的项

  setdefault方法,获得与给定键相关的值并输出,还可以在没有给定键的情况下设定相应的键值并更新字典(如果不设定,返回None)

     book={zq:18,wex:15,:}

     book.setdefault(enen,hehe)

     输出:book={zq:18,wex:15,:,enen:hehe}

update方法,用一个字典的项更新另一个字典

     book={zq:18,wex:15,:}

     d={}

     d.update(book)

     输出dbook={zq:18,wex:15,:}

valuesitervalues方法,values方法以列表的形式返回字典中的值,可以包含重复的元素.后者为迭代器

<!--EndFragment-->

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics