python的学习3

Posted we_are_young

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\\t 3\\n 4\'
>>> print s
1 2 3
4

  使用repr后

>>> print repr(s)
\'1 2\\t 3\\n 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函数。这个函数会返回一个排序后的新列表,而不会改变原始列表。  

 

 

  

 

以上是关于python的学习3的主要内容,如果未能解决你的问题,请参考以下文章

Python学习总结

python 用于在终端中运行的sublime text 3的简单代码片段制作工具

Python学习 :函数

Python 3学习笔记

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

python 学习python语法的片段