python-22-函数的定义和常用操作

1. 分隔符

描述

split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。

语法

str.split(str="", num=string.count(str))

参数

  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

    例如:str.split('|'),在提取三国演义每个主人公的名字是,就用这个进行分隔,并生成列表。

  • num -- 分割次数。默认为 -1, 即分隔所有。

返回值

返回分隔后的字符串列表

实例

str = "this is string example....wow!!!"
print (str.split( ))       # 以空格为分隔符
print (str.split('i',1))   # 以 i 为分隔符
print (str.split('w'))     # 以 w 为分隔符

结果

['this', 'is', 'string', 'example....wow!!!']
['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']

2. 删除字符串的开头或者结尾

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

语法

str.strip([chars]);

参数

chars -- 移除字符串头尾指定的字符序列。

实例

str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' ))  # 指定字符串 *
this is **string** example....wow!!!

3. replace()函数的使用方法

str.replace(old, new[, max])
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次

f3 = open('sanguo.txt')
print(f3.read().replace('\n','')) #将文本中的每行的换行符替换成空格。
f3.close()

案例:计算出三国中各人物出现的次数。

import re
def find_item( hero ):
    with open('sanguo.txt') as s:
        data =  s.read().replace('\n','')
        name_num = len(re.findall(hero,data))
        # print('主角 %s 出现了 %s 次'%(hero,name_num))

    return name_num

#读取人物信息
name_dict = {}
with open('name.txt') as f:
    names = f.read().split('|')
    # 方法一:
    # for i in range(len(data)):
    #     print(data[i])
    # 方法二:
    for n in names:
        name_num = find_item(n)
        name_dict[n] = name_num
    print(name_dict)

posted @ 2020-11-19 19:17  顺藤摸瓜  阅读(101)  评论(0)    收藏  举报