zoukankan      html  css  js  c++  java
  • Python基础系列----字典、基本语句

    1.定义                                                                                              

      映射:通过名字来引用的数据结构。与前面说的数据结构不同,一个是通过下标的数字,一个是通过名称。

      字典是python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但都是存储在一个特定的键下。键可以是数字、字符甚至是元组。

      字典由多个键及其对应的值构成的键-值对组成。

    1 phonebook={'Tom':'123456','Beth':'123'}
    2 names={}
    View Code

       dict函数,可以通过此函数映射或者对的序列建立字典。

      len(d)函数,返回d中键值对的数量

      d[k],返回关联到键k上的值

      d[k]=x,将值x关联到键k上

      del d[k],删除键为k的项

      k in d,检查键k是否在d中。

     1 items=[('name','Gumby'),('age',22)]
     2 print(items)
     3 
     4 d=dict(items)
     5 print(d)
     6 
     7 print(len(d))
     8 print(d['name'])
     9 
    10 d['age']=12
    11 print(d)
    12 print('age' in d)
    View Code

      字典的键可以是任意不可变的类型。

    1.1字典的格式化字符串                                                                                                 

      通过前面,我们知道了字符串的格式化,传入的参数我们可以使用元组等序列,当然字典也可以同样实现。如下:

    template='''
    <html>
        <head>
            <title>%(title)s</title>
        </head>
        <body>
            <h1>%(title)s</h1>
            <p>%(text)s</p>
        </body>
    </html>
    '''
    data={'title':'My Home Page','text':'Welcome to my home page!'}
    
    print(template %data)
    View Code

      通过上面的例子,我们发现,我们可以很好的利用此特性来完成一些比较特殊的任务。除了增加的字符串键以外,转换说明符还是和以前一样。当以这种方式使用字典时,只要给出的键都能在字典中找到,就可以使用任意数量的转换说明符。 

    1.2字典的方法                                                                                                             

      1.clear方法,清楚字典中的所有项

      2.copy方法,返回一个具有相同键值对的字典

      3.fromkeys方法,使用给定的键建立新的字典,每个键都对应一个默认的值None

      4.get方法,根据键名,返回对应的值

      5.has_key方法,检查当前字典是否包含有特定的键

      6.items方法,将字典索引的项以列表的方式返回;iteritems方法,与items大致相同,但是会返回一个迭代器,而不是列表

      7.keys方法,将字典中的键以列表形式返回,而iterkeys方法,则返回针对键的迭代器

      8.pop方法,获得对应与给定键的值,然后将这个键值对从字典移除

      9.popitem方法,随机返回一个键值对

      10.setdefault方法,与get方法类似,获取给定键的值,若当前键在字典中不存在,则返回设置的默认值

      11.update方法,利用一个字典更新另外一个字典

      12.values方法,以列表的形成返回字典中的值;而itervalues方法,返回一个值的迭代器

     1 d={'title':'My Home Page','text':'Welcome to my home page!'}
     2 print(d)
     3 d.clear()
     4 print(d)
     5 
     6 d={'title':'My Home Page','text':'Welcome to my home page!'}
     7 f=d.copy()
     8 print(d)
     9 print(f)
    10 
    11 print({}.fromkeys(['name','age']))
    12 
    13 print(d.get('title'))
    14 
    15 print(d.keys())
    View Code

    2.基本语句                                                                                        

    2.1print和import                                                                                                         

      1.使用逗号输出,在前面已经提到过print来打印结果,不管是字符串还是其他类型进行自动转换后的字符串,在打印多个表达式时,可以使用逗号将其隔开。

      2.import,从模块中导入函数

    1 print('Age:',22)
    2 
    3 import math
    4 from math import pi
    5 from math import *
    View Code

    2.2赋值魔法                                                                                                                   

      1.序列解包:将多个值的序列解开,然后放到变量的序列中,也叫递归解包

     1 x,y,z=1,2,3
     2 print('x:',x,',y:',y,',z:',z)
     3 
     4 x,y=y,x
     5 
     6 print('x:',x,',y:',y,',z:',z)
     7 
     8 values=1,2,3
     9 x,y,z=values
    10 print('x:',x,',y:',y,',z:',z)
    View Code

      通过以上我们可以看出,解包的序列中的元素必须和防止在赋值符号=左边的变量数量完全一致 

      2.链式复制:将同一个值赋给多个变量的捷径。例如:x=y=1

       3.增量复制:增量复制为链式复制的一种特殊情况,例如:x=1;x+=1

    2.3语句块:缩排的乐趣                                                                                                  

      语句块是字条件为真时执行或者执行多次的一组语句。在代码前放置空格来缩进语句即可创建语句块。一般情况下,我们使用4个空格

    2.4条件和条件语句                                                                                                        

      条件,我们都知道,在不同的语言中,相信都有类似的表达方式,在python中,根据条件我们可以知道他 究竟返回的是真(true)或者假(false)。在python中,false、None、0、""、()、[]、{}返回false,其他情况下返回true。

      1.if,else,elif语句,通过这三者之间的连接,我们可以对我们的逻辑进行不同的判断筛选。

    1 num=input('Enter a number:')
    2 if num>0:
    3     print('The number is positive')
    4 elif num<0:
    5     print('The number is negative')
    6 else:
    7     print('The number is zero')
    View Code

      2.比较运算符:

    python比较运算符
    表达式 描述
    x==y x等于y
    x<y x小于y
    x>y x大于y
    x<=y x小于等于y
    x>=y x大于等于y
    x!=y x不等于y
    x is y x和y是同一个对象
    x is not y x和要是不同的对象
    x in y x是y容器 的成员
    x not in y x不是y容器的成员

      3.断言,在程序中,迟早会出现崩溃,不如在错误条件出现时就让它崩溃,这样避免给后续的业务造成不可估量的损失。通常我们使用是哦那个assert进行断言,例如:age =10;assert 1<age<10;

    如果age在这个地方不满足条件时,就会抛出异常,不再执行下面的语句。

    2.5循环                                                                                                                       

      1.循环,while、for

     1 x=1
     2 while x<=100:
     3     print(x)
     4     x+=1
     5 
     6 words=['this','is','an','ex','parrot']
     7 for word in words:
     8     print(word)
     9 
    10 for number in range(1,100):
    11     print(number)
    View Code

      2.字典循环遍历

    1 d={'x':1,'y':2,'z':3}
    2 for key,value in d.items():
    3     print(key,' corredponds to',value)
    View Code

      3.并行迭代,通常使用zip方法将两个个数相同的列表,通过对应的下标合并为一个元组的列表。

    names=['anne','beth','george','damon']
    ages=[12,23,34,45]
    for i in range(len(names)):
        print(names[i],'is',ages[i],'years old')
    
    zips=zip(names,ages)
    print(zips)
    
    for name,age in zips:
         print(name,'is',age,'years old')
    View Code

      4.翻转和排序迭代。及reversed方法和sorted方法

    1 print(sorted([2,5,4,3,1]))
    2 
    3 print(sorted('Hello,world!'))
    4 
    5 print(''.join(list(reversed('Hello,world!'))))
    View Code

      5.跳出循环。目前有两种方式,continue:结束当前迭代,跳转到下一个迭代中;break,结束当前整个循环,之前循环外的后续代码。

    2.6列表推导式----轻量级循环                                                                                         

      列表推导式,利用其他列表创建新的列表的一种方法。工作方式类似于for循环。

    1 d=[x*x for x in range(10)]
    2 print(d)
    3 
    4 d=[x*x for x in range(10) if x%3==0]
    5 print(d)
    6 
    7 d=[(x,y) for x in range(3) for y in range(3)]
    8 print(d)
    View Code

      列表推倒时对我们有十分巨大的用处,特别是在构建某些对象时。

    3.写在最后                                                                                      

      如果对你有一定的帮助,麻烦点个

     若需要转载,请标明出处!

  • 相关阅读:
    AIR配置文件(*app.xml)说明
    重学AS3之基础知识重点记忆
    重学AS3之高级知识重点记忆
    FLEX AIR添加系统托盘图标步骤
    FLASH组件在FLEX中使用
    ASP.NET入门教程:数据绑定
    ASP.NET入门教程:Web表单维持对象的ViewState
    ASP.NET入门教程:简单的ASP.NET页面
    ASP.NET入门教程:事件句柄
    ASP.NET入门教程:TextBox控件
  • 原文地址:https://www.cnblogs.com/zcy-xy/p/5631288.html
Copyright © 2011-2022 走看看