zoukankan      html  css  js  c++  java
  • 《Python for Beginners》学习笔记(6)

    《Python for Beginners》为LearnStreet上的Python入门课程。本节主要学习内容为Dictionaries(字典)

    Lesson 7 Dictionaries

    1. Indexing Dictionaries
    查找字典练习

    1 def run():
    2     family = {"dad": 60, "mom" : 58, "brother": 20, "sister" : 15, "me" : 10}
    3     return family["brother"]
    4 
    5 #This is just for you to see what happens when the function is called
    6 print run()

    输出结果:
    20

    2. Creating Dictionaries
    创建字典

    1 def run():
    2     knights = {"Arthur": "king", "Lancelot": "brave", "Galahad": "pure", "Robin": "not-quite-so-brave"}
    3     return knights
    4 
    5 #This is just for you to see what happens when the function is called
    6 print run()

    输出结果:
    {'Arthur': 'king', 'Galahad': 'pure', 'Robin': 'not-quite-so-brave', 'Lancelot': 'brave'}

    3. Adding to Dictionaries
    为字典添加元素

    You can add a key/value pair to a dictionary with this syntax: dictionary_name[key] = value.

    1 def run():
    2     knights = {"Arthur":"king", "Lancelot":"brave", "Galahad":"pure", "Robin":"not-quite-so-brave"}
    3     knights["Bedivere"] = "wise"
    4     return knights
    5 
    6 #This is just for you to see what happens when the function is called
    7 print run()

    输出结果:
    {'Arthur': 'king', 'Galahad': 'pure', 'Bedivere': 'wise', 'Robin': 'not-quite-so-brave', 'Lancelot': 'brave'}

    4. Deleting from Dictionaries
    从字典中删除一个元素。

    1 def run():
    2     knights = {"Arthur":"king", "Lancelot":"brave", "Galahad":"pure", "Robin":"not-quite-so-brave", "Bedivere":"wise"}
    3     #your code here
    4     del knights["Galahad"]
    5     return knights
    6 
    7 #This is just for you to see what happens when the function is called
    8 print run()

    输出结果:
    {'Arthur': 'king', 'Bedivere': 'wise', 'Robin': 'not-quite-so-brave', 'Lancelot': 'brave'}

    5. Iterating

     1 >>> def run(letters):
     2     keys = []
     3     values = []
     4     #your code here
     5     for key in letters.keys():
     6         keys.append(key)
     7     for value in letters.values():
     8         values.append(value)
     9     return (keys, values)
    10 
    11 >>> print run({"a": 1, "b": 2, "c": 3, "d": 4})
    12 (['a', 'c', 'b', 'd'], [1, 3, 2, 4])

    6. 复习
    任务:Combine the two dictionaries into family and remove both exes. Don't forget to return family at the end.

     1 >>> def run():
     2      smiths = {"father": "Mike", "ex-wife" : "Mary", "children" : ["Bobby", "Susan"] }
     3      jones = {"mother": "Lucy", "ex-husband": "Peter", "children": ["Michelle", "Jeff", "Evan"]}
     4      family = {}
     5      for key in smiths:
     6          if key in family:
     7              family[key]+=smiths[key]
     8          else:
     9              family[key]=smiths[key]
    10      for key in jones:
    11          if key in family:
    12              family[key]+=jones[key]
    13          else:
    14              family[key]=jones[key]
    15      keysToDel = []
    16      for key in family:
    17          if 'ex' in key:
    18              keysToDel.append(key)
    19      print keysToDel
    20      for key in keysToDel:
    21          del family[key]
    22      return family
    23 
    24 >>> print run()
    25 ['ex-husband', 'ex-wife']
    26 {'father': 'Mike', 'children': ['Bobby', 'Susan', 'Michelle', 'Jeff', 'Evan'], 'mother': 'Lucy'}

    7. Set Operations
    计算两个集合的交集。

    1 >>> def run(first, second):
    2     #your code here
    3     return first.intersection(second)
    4 
    5 >>> run(set(range(11)), set(range(4)))
    6 set([0, 1, 2, 3])

    8. Creating Sets
    创建两个集合,并求它们的并集。

    1 >>> def run():
    2     set1 = {4, 6, 7, 9, 10, 12}
    3     set2 = {6, 9, 10, 12, 20}
    4     return set1.union(set2)
    5 
    6 >>> print run()
    7 set([4, 6, 7, 9, 10, 12, 20])
  • 相关阅读:
    多项式计算
    递归算法
    递推算法
    穷举算法
    两个数用二进制表示,有多少位不同
    一个整数的二进制数中1的个数
    将十进制数转化为二进制数
    (调用方法)判断一个整数是否为素数两种方法,年份是否是闰年,交换两个数值
    快速排序算法
    用户登录系统
  • 原文地址:https://www.cnblogs.com/geekham/p/2966561.html
Copyright © 2011-2022 走看看