zoukankan      html  css  js  c++  java
  • 元组、列表、字典

    元组

    1.与字符串相同的是元组是一些元素的不可变有序序列。与字符串的区别是元组中的元素不一定是字符,其中的按个元素可以是任意类型,且他们彼此之间的类型也可以不同。
    2.元组可以进行的操作:
        重复操作、连接、索引、切片...
        3*('a',2) = ('a',2,'a',2,'a',2)
        ('a',2) + ('b',3)
        a = (1,2,3)   a[0] = (1)
        a = (1,2,3)   a[0:2] = (1,2)
    

    字符串

    s.count(s1):计算字符串s1在s中出现的次数。
    s.find(s1):返回子字符串s1在s中第一次出现时的索引值,如果s1不在s中,则返回-1。
    s.rfind(s1):功能与find相同,只是从s的末尾开始反向搜索(rfind中的r表示反向)。
    s.index(s1):功能与find相同,只是如果s1不在s中,则抛出一个异常(第7章)。
    s.index(s1):功能与index相同,只是从s的末尾开始。
    s.lower():将s中的所有大写字母转换为小写。
    s.replace(old, new):将s中出现过的所有字符串old替换为字符串new。
    s.rstrip():去掉s末尾的空白字符。
    s.split(d):使用d作为分隔符拆分字符串s,返回s的一个子字符串列表。
    

    列表

    1.与元组类似,列表也是值的有序序列,每个值都可以由索引进行标识。区别列表使用的是中括号,而元组使用的是小括号。
        注意:空列表写作[],单元素列表不需要再比括号前面加上那个(特别容易忘掉的)逗号
    2.列表是可变的,而元组和字符串是不可变的。
    3.列表操作:
        L.append(e):将对象e追加到L的末尾
        L.count(e):返回e在L中出现的次数
        L.insert(i,e):将对象e插入L中索引值为i的位置
        L.extend(L1):将L1中的项目追加到L末尾
        L.remove(e):从L中删除第一个出现的e
        L.index(e):返回e第一次出现在L中时索引值。若e不在L中,抛出一个异常
        L.pop(i):删除并返回L中索引值为i的项目。若L为空,则跑出异常;i被省略,默认为-1,删除并返回L中最后一个元素
        L.sort(i):升序排列L中的元素
        L.reverse():翻转L中元素的顺序
    

    列表推导式

    1.列表推导式提供了一种简介的方式,将某种操作应用到序列中的一个值上。他会创建一个新列表,其中的每个元素都是一个序列中的值应用给定操作后的结果。
    mixed = [1, 2, 'a', 3, 4.0]
    print([x**2 for x in mixed if type(x) == int])
    

    高阶函数

    1.使用函数作为实参可以实现一种名为高阶编程的编码方式,这种方式与列表结合使用非常方便。
    2.map高阶函数:
        a.map函数被设计为与for循环结合使用。在map函数的最简形式中,第一个参数是个一元函数(即只有一个参数的函数),第二个参数是有序的值集合,集合中可以一元函数的参数.
        b.map函数更一般的的形式是,第一个参数可以是具有N个参数的函数,在这种情况下,它后边必须跟随着N个有序集合(这些集合的长度都一样)
        L1 = [1, 28, 36]
        L2 = [2, 57, 9]
        for i in map(min, L1, L2):
        print(i)    
    3.匿名函数
    匿名函数就是没有绑定名称的函数,这时要使用保留字lambda。一般表达式的形式为:
        lambda <sequence of variable names>: <expression>
    lambda表达式lambda x,y:x*y会返回一个函数,这个函数的返回值为两个参数的乘积。lambda表达式经常用作高阶函数的实参。
        L = []
        for i in map(lambda x,y:x*y,[1,2,3,4],[3,2,1,0]):
            L.append(i)
        print(L)
    
    输出:[1,4,3,1]
    

    序列类型比对

    类型      元素类型        字面量示例           是否可变
    str     字符型     '','a','abc'        否
    tuple   任意类型        (),(2,),('abc',4)   否
    range   整型          range(10)           否
    list    任意类型        [],[3],['abc',4]    是
    

    字典

    1.字典(dictionary)类型的对象与列表很相似,区别在于字典使用键对其中的值进行引用,可以将字典看做一个键/值对的集合。字典类型的字面量用大括号表示,其中元素写法是键加冒号再加上值。
        monthNumbers = {'Jan':1, 'Feb':2, 'Mar':3, 'Apr':4, 'May':5,
        1:'Jan', 2:'Feb', 3:'Mar', 4:'Apr', 5:'May'}
    2.dict中的项目是无序的,不能通过索引引用。
    3.dict的操作:
        len(d):返回d中项目的数量。
        d.keys():返回d中所有键的视图。
        d.values():返回d中所有值的视图。
        k in d:如果k在d中,则返回True。
        d[k]:返回d中键为k的项目。
        d.get(k, v):如果k在d中,则返回d[k],否则返回v。
        d[k] = v:在d中将值v与键k关联。如果已经有一个与k关联的值,则替换。
        del d[k]:从d中删除键k。
        for k in d:遍历d中的键。
    Monkey
  • 相关阅读:
    c# Chart 服务器端动态创建ChartArea
    解决 ASP.NET Chart 控件出错 为 ChartImg.axd 执行子请求时出错
    C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
    JSON和JS对象之间的互转
    MAC OS下使用OpenSSL生成私钥和公钥的方法
    iOS 牛人技术博客分享
    iOS开发之头像裁剪
    iOS开发之使用CALayer封装下载进度条
    iOS开发之使用UIimage+ImageEffects实现图片模糊效果
    我的第一个开源项目(Auditory)
  • 原文地址:https://www.cnblogs.com/monkeyT/p/9374211.html
Copyright © 2011-2022 走看看