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的主要内容,如果未能解决你的问题,请参考以下文章