zoukankan      html  css  js  c++  java
  • 一点一滴学Python(3)

    1、补充字符串
    print ("This is "
    "a test "
    "string")
    或者
    print ("This is \
    a test \
    string")
    合并成一行输出
    2、注释
    #行注释
    引号中的#号,失去注释作用
    3、赋值
    变量复制前不必声明,但变量在用于表达式或其他形式的语句中时必须已经存在
    a、基本赋值
    letter='A'
    sum=15
    b、tuple和列表赋值
    num=[1,3]
    (start,end)=number[0:2]
    start=1
    end=3
    c、多目标赋值
    one=first=1
    4、输出
    import sys
    fp=open('test.txt','w')
    sys.stdout=fp
    print 'this goes in the file'
    重定向输出到文件
    print 'This is a ','book'=>This is a book
    print 'I have %d dozen %s'%(3,'eggs')=>I have 3 dozen eggsI have 3 dozen eggs
    5、if控制语句
    if Expression1:
        BLOCK
    elif Expression2:
        BLOCK
    else:
        BLOCK
    python没有switch-case结构
    6、while控制语句
    while Expression:
        BLOCK1
    else:
        BLOCK2
    如果Expression返回假,则执行else;如果被BLOCK1中的break中断,则不执行else
    7、for控制语句
    for Target in Object:
        BLOCK1
    else:
        BLOCK2
    如果循环正常退出,执行else;如果被BLOCK1中的break中断,则不执行else    
    for num in [1,2,3,4,5]:
        print num
    for letter in 'I love you':
        print letter
    for i in range(1,5):
        print i
        **注意包括1,不包括5
    for i in range(0,10,2):
        print i
    当需要大型列表时可以使用xrange来减少使用的内存
    for i in xrange(0,1000000,2):
        print i
    8、break控制语句
    结束当前循环,并忽略任何else语句
    9、continue控制语句
    强制进入下一次循环
    10、pass控制语句
    不做任何事情,但在需要识别却忽略特定事件的时候需使用pass
    11、不要混用tab和空格缩进
    12、Unicode字符串————避开一些字符乱码
    print u'你好'
    13、内置函数
    cmath.sqrt(number)    返回平方根,num无限制
    float(object)        返回浮点形式
    input(prompt)        获取用户输入
    int(object)        返回整型形式
    long(object)        返回长整型形式
    math.ceil(number)    返回上入整数
    math.floor(number)    返回下舍整数
    math.sqrt(number)    返回平方根,num>=0
    raw_input(prompt)    获取用户输入
    repr(object)        返回值的字符串表示形式
    str(object)        将值转换成字符串
    14、列表的补充
    切片:num=[1,2,3,4,5,6]
    num[0:1]=[1]
    num[-3:-1]=[4, 5]
    num[3:]=[4, 5, 6]
    num[:3]=[1, 2, 3]
    num[:]=[1, 2, 3, 4, 5, 6]
    num[-1]=6
    num[0:5:2]=[1, 3, 5]
    num[::3]=[1, 4]
    num[::-1]=[6, 5, 4, 3, 2, 1]
    num[3::-2]=[4, 2]
    乘法:['a']*5=['a', 'a', 'a', 'a', 'a']
    None值列表
    sequence=[None]*10=[None, None, None, None, None, None, None, None, None, None]#无初值,但是有空间
    len(num)长度
    min(num)最小值
    max(num)最大值
    跟据字符串生成序列list('Iloveyou')=['I', 'l', 'o', 'v', 'e', 'y', 'o', 'u']
    反之,lista=['I', 'l', 'o', 'v', 'e', 'y', 'o', 'u']
        ''.join(lista)='Iloveyou'
    删除元素:del num[1]
    分片赋值:a=['l','i','k','e']
            a[1:]=list('ove')
            a=['l', 'o', 'v', 'e']
    利用分片赋值插入序列:a=[1,2,3]
                a[2:2]=[1,2,3]
                a=[1, 2, 1, 2, 3, 3]
    利用分片赋值删除序列:a=[1,2,3,4,5,6]
                a[2:4]=[]
                a=[1, 2, 5, 6]
    再加上步长:a=[1,2,3,4,5,6,7,8,9]
            del a[2:8:2]
            a=[1, 2, 4, 6, 8, 9]
    将排序结果放到另一个序列:y=x[:]
                y.sort()
                或者
                y=sorted(x)
    sorted('Python')=['P', 'h', 'n', 'o', 't', 'y']
    compare(x,y)    当x<y时返回负数
            当x=y时返回0
            当x>y时返回正数
    高级排序:num=[6,4,8,5]
        num.sort(cmp)
        num=[4, 5, 6, 8]
    sort 还有另外两个可选参数key和reverse。
    key提供一个在排序过程中使用的函数,该函数并不是直接用来确定对象的大小,而是为每一个元素创建一个键,然后所有元素跟据键来排序。
    letter=['love','length','light']
    letter.sort(key=len)
    letter=['love', 'light', 'length']
    根据首要关键字和次要关键字排序
    allbir=[['a','a'],['a','ab'],['b','b'],['a','aa']]
    allbir.sort(lambda x,y:(cmp(x[0],y[0]) or cmp(x[1],y[1])))
    allbir=[['a', 'a'], ['a', 'aa'], ['a', 'ab'], ['b', 'b']]
    跟据多关键字排序
    allbir=[['a','b','c'],['a','a'],['a','bb'],['b','aa'],['b','a','aa'],['a','b','c']]
    allbir.sort(lambda x,y:(cmp(x[0],y[0]) or cmp(x[1],y[1]) or cmp(x[2],y[2])))
    allbir=[['a', 'a'], ['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'bb'], ['b', 'a', 'aa'], ['b', 'aa']]



  • 相关阅读:
    poj 3528 (三维几何求凸包+凸包表面积)
    dijkstra模板(好像是斐波那契额堆优化,但我为什么看起来像优先队列优化,和spfa一样)
    最大空凸包模板
    ICPC 2017–2018, NEERC, Northern Subregional Contest St Petersburg, November 4, 2017 I题
    hdu 5248 序列变换
    hdu 2063(二分图模板测试)
    组合数
    85. Maximal Rectangle 由1拼出的最大矩形
    750. Number Of Corner Rectangles四周是点的矩形个数
    801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
  • 原文地址:https://www.cnblogs.com/pythonlover/p/2323278.html
Copyright © 2011-2022 走看看