zoukankan      html  css  js  c++  java
  • 4. 字典

    创建字典
    1. { }
    >>> dic={'name':'pmghong','age':'22','gender':'male'}
    >>> dic['name']
    'pmghong'
     
    2. 使用工厂方法dict( )
    fdict=dict(['x',1],['y',2])
     
    3. 内建方法:fromkeys( ) ,字典中的元素具有相同的值,默认为None
    ddict={}.fromkeys(('x','y'),-1)

    dict函数

    可以用dict 函数,通过其他映射(比如其他字典)或(键,值)这样的序列对建立字典。

    >>> items = [('name','gumby'),('age',42)]
    >>> d = dict(items)
    >>> d
    {'age': 42, 'name': 'gumby'}
    >>> d['name']
    'gumby'

    dict函数也可以通过关键字参数来创建字典,如下例所示:

    >>> d = dict(name ='gumby', age=42)
    >>> d
    {'age': 42, 'name': 'gumby'}


    结合zip()创建字典

    >>> a = ['a','b']
    >>> b = [123,789]
    >>> dict(zip(a,b))
    {'a': 123, 'b': 789}

     

    字典应用实例

    计算机生成了可选文字: #l/usr/bin/python
people={一
'Alice':{
,phone
"addr
},
,Beth':{
,phone
.addr
#definedist
2341
r00
drive23
.创‘日
},
,何ay
2222
FOO
城目喇
drive93
.愁、
:{
ohone
.addr
8888
Fodf
、声几
drive99
}
labels
}
..,电,贬一一厂
={
,phone':'phonenumber
"addr':'address"
#定义一个打印字典
}
、气
,、
name=raw--input("Name:.)
request=
ifrequest
ifrequest
raw
侧
一一一一
_input(
,p':
,a.:
"phone
nunlber(p)
,phonet
,addr'
Or
%5。
address(a)?")
key
key
ifnamein
else:print
people:print
s%515
,,%(name,labels[key],people[name][key])
‘一IJothisname
u%s
in
people,pleasecheck。”

    运行测试:

    [root@server3 python]# python dict.py

    Name:Alice

    phone number(p) or address(a)?p

    Alice's phone number is 2341.

    [root@server3 python]# python dict.py

    Name:Beth

    phone number(p) or address(a)?a

    Beth's address is Foo drive 93.

     

    字典的格式化字符串

    >>> phonebook

    {'Beth': '9928', 'Alice': '2322', 'Cecil': '1314'}

    >>> "Cecil's phone number is %(Cecil)s."  %phonebook

    "Cecil's phone number is 1314."

    应用:

    >>> template = '''<html>                 #字符串模板

    ... <head><title>%(title)s</title></head>

    ... <body>

    ... <h1>%(title)s</h1>

    ... <p>%(text)s</p>

    ... </body>'''

    >>> data = {'title' : 'My Home Page','text' : 'Welcome to my home page!'}

    >>> print template %data                

    <html>

    <head><title>My Home Page</title></head>

    <body>

    <h1>My Home Page</h1>

    <p>Welcome to my home page!</p>

    </body>





    将来的你,一定会感谢现在拼命努力的你。
  • 相关阅读:
    一个开始搞Linux的现任前端开发,用U盘装CentOS
    .NET:处理数据库事务中的并发
    Xml与对象之间的序列化、反序列化
    嵌套类
    .NET陷阱之五:奇怪的OutOfMemoryException——大对象堆引起的问题与对策
    backbone 之事件(events)
    一道笔试指针题目详解
    linux安装Cassandra数据库
    Angularjs Controller 间通信机制
    NLucene 和 Lucene .NET
  • 原文地址:https://www.cnblogs.com/51runsky/p/4574586.html
Copyright © 2011-2022 走看看