• Python基础教程总结(二)


      上周总结了一下Python的一些基本数据类型和用法。这次总结一下4-9章的内容,完后,赶紧学以致用吧。

    5. 第四章——字典:当索引不好用时

      字典是Python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里。键可以是数字、字符串甚至是元组。其实用过Json的同学就会觉得Python的字典很亲切。

      5.1. 创建字典

    • 方法一:
    1 >>> phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
    • 方法二:
    1 >>> items = [('name', 'Gumby'),('age', 42)]
    2 >>> phonebook = dict(items)
    3 >>> phonebook
    4 {'age': 42, 'name': 'Gumby'}
    • 方法三:
    1 >>> items = dict(name='Gumby', age=42)
    2 >>> items
    3 {'age': 42, 'name': 'Gumby'}
    • 方法四:
    1 >>> {}.fromkeys(['name','age'])
    2 {'age': None, 'name': None}
    3 >>> dict.fromkeys(['name','age'])
    4 {'age': None, 'name': None}
    5 >>> dict.fromkeys(['name','age'], 'unknown')
    6 {'age': 'unknown', 'name': 'unknown'}

      5.2. 使用字典

    • 格式化字符串:
    1 >>> items
    2 {'age': 42, 'name': 'Gumby'}
    3 >>> "%(name)s's age is %(age)s." % items
    4 "Gumby's age is 42."
    
     1 >>> template = '''<html>
     2 ... <head><title>%(title)s</title></head>
     3 ... <body>
     4 ... <h1>%(title)s</h1>
     5 ... <p>%(text)s</p>
     6 ... </body>'''
     7 >>> data = {'title': 'Panderen Home', 'text': 'Welcome to my home page'}
     8 >>> print template % data
     9 <html>
    10 <head><title>Panderen Home</title></head>
    11 <body>
    12 <h1>Panderen Home</h1>
    13 <p>Welcome to my home page</p>
    14 </body>

      5.3. 字典方法

    • clear()方法可以清除值,而={}是将引用给变量(类似C语言里面的指针);
    • copy(),deepcopy()方法,copy()复制的是引用,只要改变一个,其他变量内的值也会改变。deepcopy()方法复制的是值,各管各的;
    • fromkeys方法,5.1提到过;
    • get()方法,items.get('name', 'N/A'),参数一是键,参数二是默认值;
    • has_key()方法,是否有键,返回Ture or False;
    • items()返回列表,iteritems()返回一个迭代器;
    • keys()返回列表,iterkeys()迭代器;
    • pop()方法,items.pop('x');
    • popitem()方法,该方法类似list.pop(),不过后者会弹出列表最后一个元素。popitem()弹出随机项;
    • setdefault()方法,items.setdefault('name','N/A')。不设置默认值,系统会使用None;
    • update()方法,可以利用一个字典项更新另一个字典内容;
    • values()以列表形式返回值,itervalues()返回一个迭代器。
  • 相关阅读:
    一些特殊的矩阵快速幂 hdu5950 hdu3369 hdu 3483
    HDU
    UVA-796 Critical Links 找桥
    HDU 4612 Warm up
    2017 ICPC乌鲁木齐 A Coins 概率dp
    HDU6223 Infinite Fraction Path bfs+剪枝
    Java基础知识学习(一)
    算法(一)
    面试题整理:SQL(二)
    面试题整理:SQL(一)
  • 原文地址:https://www.cnblogs.com/panderen/p/3997016.html
Copyright © 2020-2023  润新知