3-Python-字典、元组、函数(上)

来源:互联网 发布:java手机单机游戏下载 编辑:程序博客网 时间:2024/04/28 02:43
  1. 知识点
    1. 知识点
    2. --Python-字典、元组、函数(上)

  2.  字典介绍
    1. 想一想:
    2. 如果有列表
    3. nameList = ['xiaoZhang', 'xiaoWang', 'xiaoLi'];
    4. 需要对"xiaoWang"这个名字写错了,通过代码修改:
    5. nameList[1] = 'xiaoxiaoWang'
    6. 如果列表的顺序发生了变化,如下
    7. nameList = ['xiaoWang', 'xiaoZhang', 'xiaoLi'];
    8. 此时就需要修改下标,才能完成名字的修改
    9. nameList[0] = 'xiaoxiaoWang'
    10. 有没有方法,既能存储多个数据,还能在访问元素的很方便就能够定位到需要的那个元素呢?
    11. 答:
    12. 字典
    13. <1>生活中的字典
      1. <2>软件开发中的字典
      2. 变量info为字典类型:
      3. info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
      4. 说明:
      5. 字典和列表一样,也能够存储多个数据
      6. 列表中找某个元素时,是根据下标进行的
      7. 字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name''id''sex'
      8. 字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值
      9. <3>根据键访问值
      10. info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
      11. print(info['name'])
      12. print(info['address'])
      13. 结果:
      14. 班长
      15. 地球亚洲中国北京



  3.  字典--常见操作1
    1. <1>修改元素
    2. 字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
    3. demo:
    4. info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
    5. newId = raw_input('请输入新的学号')
    6. info['id'] = int(newId)
    7. print('修改之后的id为%d:'%info['id'])
    8. <2>添加元素
    9. demo:访问不存在的元素
    10. info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
    11. print('id为:%d'%info['id'])
    12. 结果:
    13. 访问不存在的元素
    14. 如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
    15. demo:添加新的元素
    16. info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
    17. # print('id为:%d'%info['id'])#程序会终端运行,因为访问了不存在的键
    18. newId = raw_input('请输入新的学号')
    19. info['id'] = newId
    20. print('添加之后的id为:%d'%info['id'])
    21. 结果:
      1. 请输入新的学号188
      2. 添加之后的id为: 188

    22. <3>删除元素
    23. 对字典进行删除操作,有一下几种:
      1. del
      2. clear()

    24. demo:del删除指定的元素
    25. info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}
    26. print('删除前,%s'%info['name'])
    27. del info['name']
    28. print('删除后,%s'%info['name'])
    29. 结果
    30. 访问不存在的元素
    31. demo:del删除整个字典
    32. info = {'name':'monitor', 'sex':'f', 'address':'China'}
    33. print '删除前,',info
    34. del info
    35. print '删除后,',info
    36. 结果
    37. 访问不存在的元素
    38. demo:clear清空整个字典
    39. info = {'name':'monitor', 'sex':'f', 'address':'China'}
    40. print '清空前,',info
    41. info.clear()
    42. print '清空后,',info
    43. 结果
    44. 访问不存在的元素


  4.  字典--常见操作2
    1. <1>len()
    2. 测量字典中,键值对的个数
    3. <2>keys
    4. 返回一个包含字典所有KEY的列表
    5. <3>values
    6. 返回一个包含字典所有value的列表
    7. <4>items
    8. 返回一个包含所有(键,值)元组的列表
    9. <5>has_key
    10. dict.has_key(key)如果key在字典中,返回True,否则返回False

  5.  字典的遍历
    1. <1> 遍历字典的key(键)
    2. <2> 遍历字典的value(值)
    3. <3> 遍历字典的项(元素)
    4. <4> 遍历字典的key-value(键值对)

  6.  元组
    1. Python的元组与列表类似,不同之处在于元组的元素不能修改。也可进行分片 连接操作. 元组使用小括号,列表使用方括号
      1. >>>aTuple = ('et',77,99.9)
      2. >>>aTuple
      3. ('et',77,99.9)


    2. <1>访问元组

    3. <2>修改元组

    4. 说明:
      1. python中不允许修改元组的数据


    5. <3>合并成一个新元组

    6. <4>删除元素
    7. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组


    8. <5>元组运算符
      1. 与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
    9. Python 表达式结果描述len((1, 2, 3))3计算元素个数(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']复制3 in (1, 2, 3)True元素是否存在for x in (1, 2, 3): print x1 2 3迭代

    10. <6>元组索引,截取 
      1. 因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素.

    11. L = ('spam', 'Spam', 'SPAM!')
    12. Python 表达式结果描述L[2]'SPAM!'读取第三个元素L[-2]'Spam'反向读取;读取倒数第二个元素L[1:]('Spam', 'SPAM!')截取元素

    13. <7>元组内置函数
    14. Python元组包含了以下内置函数
    15. 序号方法描述1cmp(tuple1, tuple2)比较两个元组元素。2len(tuple)计算元组元素个数。3max(tuple)返回元组中元素最大值。4min(tuple)返回元组中元素最小值。5tuple(seq)将列表转换为元组。

    16. <8>多维元祖访问的示例
      1. >>> tuple1 = [(2,3),(4,5)]
      2. >>> tuple1[0]
      3. (2, 3)
      4. >>> tuple1[0][0]
      5. 2
      6. >>> tuple1[0][2]
      7. Traceback (most recent call last):
      8. File "<stdin>", line 1, in <module>
      9. IndexError: tuple index out of range
      10. >>> tuple1[0][1]
      11. 3
      12. >>> tuple1[2][2]
      13. Traceback (most recent call last):
      14. File "<stdin>", line 1, in <module>
      15. IndexError: list index out of range
      16. >>> tuple2 = tuple1+[(3)]
      17. >>> tuple2
      18. [(2, 3), (4, 5), 3]
      19. >>> tuple2[2]
      20. 3
      21. >>> tuple2[2][0]
      22. Traceback (most recent call last):
      23. File "<stdin>", line 1, in <module>
      24. TypeError: 'int' object is not subscriptable


  7. 函数
    1. 如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数
      1. <1>定义函数和调用
      2. 定义函数的格式如下:
      3. def 函数名():
      4. 代码
      5. 编写完函数之后,通过 函数名() 进行调用



原创粉丝点击