zoukankan      html  css  js  c++  java
  • 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函数。这个函数会返回一个排序后的新列表,而不会改变原始列表。  

     

      

     
  • 相关阅读:
    如何在Ubuntu Server 18.04上安装Microsoft的Procmon
    如何在Ubuntu 20.04上安装Wine 5.0
    如何在Kali Linux 2020中启用SSH服务
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Apache Groovy
    如何使用命令在Ubuntu 20.04 Linux上安装Vmware Tools
    在Ubuntu 20.04 LTS Focal Fossa上安装Zabbix Agent
    hdu 2089 不要62
    hdu 2093 成绩排名
    hdu 2104 hide handkerchief
    leetcode147对链表进行插入排序
  • 原文地址:https://www.cnblogs.com/HuangDaDa/p/8012097.html
Copyright © 2011-2022 走看看