码迷,mamicode.com
首页 > 编程语言 > 详细

python基础教程(五)

时间:2017-09-01 19:40:25      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:包含   针对   修改   index   pytho   tool   ring   空格   表示   

字符串基本操作

  所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用,前面已经讲述的这些操作。但是,请注意字符串都是不可变的。

 

字符串的方法:

字符串从string 模块中“继承”了很多方法,这里只介绍一些特别有用的。

 

1find 

find 方法可以在一个较长的字符串中查找子字符串。它返回子串所在位置的最左端索引。如果没有找到则返回-1.

技术分享
>>> with a moo-moo here. and a moo-moo ther‘.find(moo)
7
>>> title = "Monty Pyhon‘s Flying Circus"
>>> title.find(Monty)
0
>>> title.find(Python)
-1
技术分享

2、join

join 方法是非常重要的字符串方法,它是split方法的逆方法,用来在队列中添加元素:

技术分享
>>> seq = [1‘,2‘,3‘,4‘,5]
>>> sep = +‘
>>> sep.join(seq)
1+2+3+4+5‘
>>> dirs = ‘‘,usr‘,bin‘,env‘
>>> /.join(dirs)
/usr/bin/env‘
>>> print C:‘ + \\.join(dirs)
C:\usr\bin\env
技术分享

3、lower

lower 方法返回字符串的小写字母版。

如果想要编写“不区分大小写”的代码的话,那么这个方法就派上用场了-----代码会忽略大小写状态。

>>> Trondheim Hammer Dance.lower()
trondheim hammer dance

4、replace 

replace 方法返回某字符串的所有匹配项均被替换之后得到字符串。

>>> This is a test‘.replace(is‘,eez)
Theez eez a test

如果,你使用过文字处理工具里的“查找并替换”功能的话,就不会质疑这个方法的用处了。

 

5、split

这是一个非常重要的方法,它是join的逆方法,用来将字符串分割成序列。

技术分享
>>> 1+2+3+4+5‘.split(+)
[1‘, 2‘, 3‘, 4‘, 5]
>>> /usr/bin/env‘.split(/)
[‘‘, usr‘, bin‘, env]
>>> using the default.split()
[using‘, the‘, default‘]
技术分享

6、strip 

strip 方法返回去除两侧(不包含内部)空格的字符串:

>>>       internal white space is kept    .strip()
internal white space is kept

 

 

字典

 

字典的使用

现实中的字段及在python中的字段都进行了构建,从而可以轻松查到某个特定的词语(键),从而找到它的意义(值)。

某些情况下,字典比列表更加适用:

#  表征游戏棋盘的状态,每个键都是由坐标值组成的元组;

#  存储文件修改次数,用文件名作为键; 

#  数字电话/地址本

 

创建一个人名列表,以及四位的分机号码:

>>> names = [zhangsan‘,lisi‘,wangwu‘,sunliu]
>>> numbers = [2313‘,9102‘,3158‘,4326]
#通过下下方法查询
>>> numbers[names.index(zhangsan)]
2313

 

创建和使用字典

字典可以通过下面方式创建

>>> phonebook = {zhangsai‘:2313‘,lisi‘:9102‘,wangwu‘:3158‘}

字典由多个键及与其对应的值构成,在上例中,名字是键,电话号码是值。

 

dict函数

可以用dict 函数,通过其他映射(比如其他字典)或(键,值)这样的序列对建立字典。

技术分享
>>> items = [(name‘,gumby‘),(age‘,42)]
>>> d = dict(items)
>>> d
{age‘: 42, name‘: gumby}
>>> d[name]
gumby
技术分享

dict函数也可以通过关键字参数来创建字典,如下例所示:

>>> d = dict(name =gumby‘, age=42)
>>> d
{age‘: 42, name‘: gumby‘}

 

字典示例:

技术分享
#简单数据库

#使用人名作为键的字典,每个人用另一个字典表示,其键‘phone’和‘addr’分别表示他们的电话号和地址,

people ={
    zhangsan:{
        phone‘:2341,
        addr‘:foo drive 23
    },
    lisi:{
        phone‘:9102,
        addr‘:bar street 42
        },
   wangwu:{
        phone‘:3158,
        addr‘:baz avenue 90
        }
    }

#针对电话号码和地址使用的描述性标签,会在打印输出的时候用到

labels = {
    phone‘:phone number,
    addr‘:address
    }
name = raw_input(Name:)

#查找电话号码还是地址? 使用正确的键:
request = raw_input(phone number(p) or address (a)?)
#使用正确的键:
if request == p‘:key = phoneif request == a‘:key = addr#如果名字是字典中的有效键才打印信息:
if name in people: print "%s‘s %s is %s." %(name, labels[key], people[name][key])

------------------------
#输入内容 >>> Name:zhangsan phone number(p) or address (a)?p #打印结果 zhangsans phone number is 2341.
技术分享

 

python基础教程(五)

标签:包含   针对   修改   index   pytho   tool   ring   空格   表示   

原文地址:http://www.cnblogs.com/cmt110/p/7464706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!