• devi into python 笔记(二)元组 变量声明 和列表解析


    元组tuple:
    类似list,只是tuple是不可变的list。类似java的String都是不可改变的。注意:tuple没有方法(有待考证),不可以像list那样那个list.pop 或者list.append()等操作。
    但是可以用 in 来判断一个元素是否在tuple中:

    mytuple = ('a', 'b', 'c') 
    print 'a' in mytuple, 'd' in mytuple

    tuple与list相比较:
    tuple更安全,提供了“写保护”,当想要一组只用来遍历的数据时推荐使用tuple。
    tuple可做dictionary的key,但是list不行,因为dictionary要求key是不可变得
    ===============================
    变量声明:
    一次赋多值:

    #这里a b c仅仅是变量名
    (a, b, c) = (1, 2, 3)

    另外应用到range()函数:

    #这里Mon Tue都是变量名
    (Mon, Tue, Wed, Thu, Fri, Sat, Sun) = range(7)

    range()接受一个数值,返回从0起到n-1的list。

    ===============================
    格式化字符串:
    注意这个写法:

    #当使用只包含一个元素的tuple的时候,要在元素后面加上逗号,告诉python这是一个tuple,而不是加了括号的变量。
    " my name is %s " % (name, )

    %f格式符:

    对应十进制浮点数,默认打印到小数点后6位。相关的有 %.2f 打印两位小数; %+.2f打印

    join() split():

    字符串join split 两者正好相反,互逆。join按照规则把list连接成字符串,split按规则把字符串分割成list

    mylist = ['a', 'b', 'c']
    mylist_str = ";".join(mylist)
    #打印出来一看,一样的
    print mylist_str.split(';'), mylist
    
    #split还能接受一个可选参数,第二个参数规定了分割次数
    print mylist_str.split(';', 1)
    
    #如果不给任何参数,split默认是按照 空白 分割的。
    #好处是可以结合join来统一字符串中的空白
    mystr = "aaa
    bbb   ccc	 ddd"#
    换行 	制表符,都属于空白
    mystr2 = ' '.join(mystr.split())
    print mystr, mystr2
    
    #ljust 向字符串末尾填充空格来补齐。字符串长度大于给定长度则不改动,小于则用空格补齐
    #如用上面的mystr2举例
    print mystr2.ljust(50)
    print mystr2.ljust(10)

    ========================
    重点:映射list 或称 list解析

    mydic = {'one':'a',
             'two':'b',
             'three':'c',}
    #items返回一个形如 [(k1, v1), (k2, v2),...]的,以tuple为元素的list
    print mydic.items()
    
    #for循环每次循环拿出mydic.items()中的一个元素(也就是一个tuple,里面放的是k, v),分别赋值给kk,vv
    #然后保存给最外层的list中,然后继续下一次循环,直到遍历完mydic.items()
    print [kk for kk, vv in mydic.items()]
    print [vv for kk, vv in mydic.items()]

     列表过滤: 在列表解析的基础上添加了筛选条件。

    l = ['a', 'b'. 'c']
    l2 = [l2 for l2 in l if l2=='c']#表示如果遍历的元素是 c 那就留下,否则不要
    print l2
    
    l3 = [l3 for l3 in l if l3 != 'c']#表示如果遍历的元素不是 c 那就留下,否则不要
    print l3
  • 相关阅读:
    使用hugo在gitee上写blog
    golang初识2
    golang初识1
    install go on ubuntu
    sql优化的几种方式
    UpdatePanel 无刷新弹出窗口
    .net web 点击链接在页面指定位置显示DIV的问题
    重建主键
    sql 日期时间格式转换
    UpdatePanel无法直接弹出窗口的解决
  • 原文地址:https://www.cnblogs.com/lipijin/p/3163776.html
Copyright © 2020-2023  润新知