• python的学习3


    1、解决用户输入空行的办法使用startwith判断或者len(strs)>0

    2、字符串运用方法中strip和replace特别有用。

    Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。语法:

    str.strip([chars]);
    #!/usr/bin/python
    
    str = "0000000this is string example....wow!!!0000000";
    print str.strip( '0' );
    
    #输出结果为
    this is string example....wow!!!
    

      只移除字符串头尾指定的字符,中间部分不会移除:

    #!/usr/bin/python
    str = "0000000this is string 0000example....wow!!!0000000"; print str.strip( '0' ); 结果为: this is string 0000example....wow!!!

    Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。语法:

    str.replace(old, new[, max])
    #!/usr/bin/python
    
    str = "this is string example....wow!!! this is really string";
    print str.replace("is", "was");
    print str.replace("is", "was", 3);
    
    结果为:
    thwas was string example....wow!!! thwas was really string
    thwas was string example....wow!!! thwas is really string
    
    #old -- 将被替换的子字符串。
    #new -- 新字符串,用于替换old子字符串。
    #max -- 可选字符串, 替换不超过 max 次
    

    3、于find方法可以寻找一个 字符串在另一个字符串中出现的次数,也可以返回字符串的位置或-1(表示字符串没有找到)

    4、exit()    #直接退出程序

    5、内置函数repr可以解决空格带来的问题。因为空格符、制表符和换行符是隐藏的,它将任一对象作为参数,返回该对象的一个字符串表示。字符串中用反斜杠序列代表空白 字符

    >>> s = '1 2	 3
     4'
    >>> print s
    1 2 3
    4
    

      使用repr后

    >>> print repr(s)
    '1 2	 3
     4'
    

     6、.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,并且readlines()返回的是一个数组。

    7、 print len(array)    #返回数组的长度   find返回值为-1时表示没有找到,否则返回的是索引值

    8、列表即序列,列表里的值可以是任意类型,创建简单方法为[]将元素括起来。列表里的元素不要求是同一类型   例:

    ['spam', 2.0, 5, [10, 20]]
    #含一个字符串,一个浮点数,一个整数,以及另一个列表
    

    一个列表作为另一个列表的元素称为列表嵌套。不含任何元素的列表称为空列表,使用空的方括号([])创建一个空列表。  

    9、与字符串不同,列表是可变的。你可以改变列表中元素的顺序,或者对列表中的元素重新赋值。当括号运算符出现在赋值语 句的左边时,就可以给列表中指定的元素赋值。

    >>> numbers = [17, 123]
    >>> numbers[1] = 5
    >>> print numbers
    [17, 5]
    
    #numbers列表的第二个元素之前是123,现在是5。
    

    任何整数表达式都可作为索引。

    试图读写一个不存在的元素时,你会得到IndexError索引错误提示。

    如果索引值为负,表示从列表的尾部算起。

    对于空列表来说,for循环不会执行函数体。

    in运算符也适用于列表:

    >>> cheeses = ['Cheddar', 'Edam', 'Gouda']
    >>> 'Edam' in cheeses
    True
    >>> 'Brie' in cheeses
    False
    

    尽管一个列表可以包含另一个列表,但被包含的列表只能被看作一个元素。以下列表的长度为4:

    ['spam', 1, ['Brie', 'Roquefort', 'Pol le Veq'], [1, 2, 3]]
    

    “+”运算符连接多个列表:

    >>> a = [1, 2, 3]
    >>> b = [4, 5, 6]
    >>> c = a + b
    >>> print c
    [1, 2, 3, 4, 5, 6]
    

    类似地,“*”运算符对列表进行给定次数的重复:

    >>> [0] * 4
    [0, 0, 0, 0]
    >>> [1, 2, 3] * 3
    [1, 2, 3, 1, 2, 3, 1, 2, 3]

    列表的分割即切片操作:

    >>> t = ['a', 'b', 'c', 'd', 'e', 'f']
    >>> t[1:3]
    ['b', 'c']
    >>> t[:4]
    ['a', 'b', 'c', 'd']
    >>> t[3:]
    ['d', 'e', 'f']
    

     10、列表的操作方法:append在列表尾部添加一个新元素。

       t = ['a', 'b', 'c']
    
    >>> t.append('d')
    

      extend可以将列表作为参数,并把一个列表的所有元素添加到另一个列表的尾部。

    >>> t1 = ['a', 'b', 'c']
    >>> t2 = ['d', 'e']
    >>> t1.extend(t2)
    >>> print t1
    ['a', 'b', 'c', 'd', 'e']  #这个示例中t2没有发生改变。
    

      大多数列表方法是没有返回值的,它们会修改列表,但返回为None。如果你不小心写了下面这样的语句 t = t.sort() ,得到 的t不是你所预期的排序。

    删除列表元素使用pop,如果没有指定索引位置,pop会删除并返回最后一个元素。
    列表t.pop(索引号)
    果无需返回删除过的元素,可以直接使用del操作符:
    del t[1]
    如果只知道要删除的元素,但不知道它的索引位置,可以使用remove方法:
    >>> t = ['a', 'b', 'c']
    >>> t.remove('b')  #remove方法返回值为None。
    >>> print t 
    ['a', 'c']
    

     当需要删除多个元素,可以根据切片索引,使用del来实现:

    >>> t = ['a', 'b', 'c', 'd', 'e', 'f']
    >>> del t[1:5]
    >>> print t   #,切片会删除两个索引位置之间的所有元素,实际上切片不会删除第二个索引参数所对应的元素。
    ['a', 'f']

     列表中有许多内嵌函数可用来遍历,无需另写循环代码如 len(nums)、max(nums)、min(nums)、sum(nums)               sum(nums)  即是将nums列表各个数相加的总和、

    字符串转换为字符列表

    >>> s = 'spam'
    >>> t = list(s)   #list函数将一个字符串转化成一些单独的字母。
    >>> print t
    ['s', 'p', 'a', 'm']
    

    把一个字符串分成单独的单词

    >>> s = 'pining for the fjords'
    >>> t = s.split() #相当于以空格来分割
    >>> print t
    ['pining', 'for', 'the', 'fjords']
    >>> print t[2]
    the
    

    split(可选参数):  split函数有一个可选参数,称为分隔符(delimiter)。它可以指定特定字符作为单词之间的界限

    join函数与split函数的作用相反。它使用字符串列表,把列表元素连接起来。join是字符串方法,所以必须指定分隔符,将列 表作为参数。

    >>> t = ['pining', 'for', 'the', 'fjords']
    >>> delimiter = ' '  #分隔符为空格
    >>> print delimiter.join(t) 
    结果:'pining for the fjords'
    

      append方法修改了列表,而“+”运算符新建了一个 列表:

    >>> t1 = [1, 2]
    >>> t2 = t1.append(3)
    >>> print t1
    [1, 2, 3]
    >>> print t2
    None
    >>> t3 = t1 + [3]
    >>> print t3
    [1, 2, 3]
    >>> t2 is t3
    False  
    易错点:
    下面的函数就并没有达到删除列表头元素的目的:
    def bad_delete_head(t):
    t = t[1:] # WRONG!
    

    切片操作会新建一个列表,赋值语句将t作为列表的引用。但这对于之前作为参数的列表来说没有任何影响。

    另一种可行的办法是编写一个函数,创建并且返回一个新列表。例如,tail函数会返回一个新的列表,其包含除第一个元素之 外的其他所有元素。

    def tail(t):
    return t[1:]
    

     这个函数并不会改变原始列表。以下是它的用法:

    >>> letters = ['a', 'b', 'c']
    >>> rest = tail(letters)
    >>> print rest
    ['b', 'c']
    

    11、sorted函数。这个函数会返回一个排序后的新列表,而不会改变原始列表。  

     

      

     
  • 相关阅读:
    [Swift-2019力扣杯春季初赛]2. 校园自行车分配
    php 遇到报错 Call to a member function fetch_object()
    Proactive Patching Overview
    PHP 官方说明
    SecureCRT 迁移到新环境,导出配置文件目录 转
    ORA-00020: maximum number of processes (300) exceeded
    转 SQL*PLUS中的替换变量(& &&)
    转 DOS(CMD)下批处理换行问题/命令行参数换行 arg ms-dos
    php 报错如下:Notice: Trying to get property of non-object
    mysqli 进一步分析
  • 原文地址:https://www.cnblogs.com/HuangDaDa/p/8012097.html
Copyright © 2020-2023  润新知