字符串函数用法—字典用法—文件读取用法(正则表达式)

 (扩展):numpy.array(object, dtype=None, copy=True, order='K',subok=False, ndmin=0)

 组合:

使用hstack函数实现数组横向组合:np.hstack((arr1,arr2))//左右堆叠

使用vstack函数实现数组纵向组合:np.vstack((arr1,arr2))//上下堆叠

使用concatenate函数实现数组横向组合:np.concatenate((arr1,arr2),axis = 1))//左右堆叠

使用concatenate函数实现数组纵向组合:np.concatenate((arr1,arr2),axis = 0))//上下堆叠

 分割:

使用hsplit函数实现数组横向分割: np.hsplit(arr1, 2)

使用vsplit函数实现数组纵向分割: np.vsplit(arr, 2)

使用split函数实现数组横向分割: np.split(arr, 2, axis=1)

使用split函数实现数组纵向分割: np.split(arr, 2, axis=0)

np.random.uniform(low,high,size)

参数说明:

low:生成元素值的下界,float类型,默认值为0
high:生成元素值的上界,float类型,默认值为1
size:输出样本的数目,可以指定一个值,也可指指定大于等于两个值
返回对象:ndarray类型,形状为size中的数值指定,其元素个数为size指定的参数的乘积

我们前面已经说过了rand()这个函数,它返回的元素值是服从0-1的均匀分布,那如果不想要生成的是0-1范围内的均匀分布,想要其它范围内的均匀分布怎么办呢。

        uniform()实现了这个功能,它可以生成服从指定范围内的均匀分布的元素。其返回值的元素类型为浮点型。需注意的是元素值的范围包含low,不包含high。

举例:
import numpy as np
# 指定一个参数low
mat = np.random.uniform()
print(mat)
print(type(mat))
 
# 指定low和high,生成一个[low,high)的元素值
mat = np.random.uniform(low=5, high=10)
print(mat)
print(type(mat))
 
# 指定size大小,生成一个三行三列的二维数组,元素个数为3x3=9个
mat = np.random.uniform(low=2, high=10, size=(3, 3))
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))
 
mat = np.random.uniform(low=2, high=10, size=(3, 3, 2))
print(mat)
print(type(mat[0][0][0]))
 

参数名称

说明

object

接收array。表示想要创建的数组。无默认。

dtype

接收data-type。表示数组所需的数据类型。如果未给定,则选择保存对象所需的最小类型。默认为None。

ndmin

接收int。指定生成数组应该具有的最小维数。默认为None。

1、字符串:

名称

说明

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

num=string.count(str)) 以 sep 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串

S.strip([chars])

返回字符串的一个副本,删除前导和尾随字符。chars参数是一个字符串,指定要移除的字符集。如果省略或为None,则chars参数默认为删除空白字符。

S.lower()

将字符串所有大写字符变为小写

S.isalnum()

如果字符串至少有一个字符,并且所有字符都是数字或者字母,则返回true,否则返回false。

S.count(sub[,start[,end]])

返回在[start, end]范围内的子串sub非重叠出现的次数。可选参数start和end都以切片表示法解释。

replace(old, new [, max])

将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。

 lyric = 'The night begin to shine, the night begin to shine'

words = lyric.split() //默认空格分隔,返回列表

print(words)

words.count(words[1])

使用strip()方法去除开头和结尾的空白字符和换行符。然后,使用replace()方法将字符串中的换行符替换为空字符串。最后,输出提取到的文本"文慧"。

text = '/n    文慧\n    '
text = text.strip().replace('\n', '')
print(text)  # 输出:'文慧
'
 

2、字典:

一、

NASDAQ_code = {     'BIDU':'Baidu',     'SINA':'Sina',     'YOKU':'Youku' } 1、键-值成对出现; 2、键不能重复; 3、键不可更改,值可修改; 4、键来索引值。

二、

 NASDAQ_code = {     'BIDU':'Baidu',     'SINA':'Sina',     'YOKU':'Youku' } 

重新赋值:NASDAQ_code['YOJKU'] = 'Yoku'

在字典后面添加多个键值对(update函数):NASDAQ_code.update({'FB':'Facebook','TSLA':'Tesla'})

删除某键值对:del NASDAQ_code['FB']

NASDAQ_code['FB’]

字典推导式:a = {i:i**2 for i in range(10)}

3、文件:

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据

f = open('test.txt', 'r')

content = f.read(5)

print(content)

print("-"*30)

content = f.read()

print(content)

f.close()

读取函数: 

模式

说明

f.close()

关闭文件,记住用open()打开文件后需得关闭它,否则会占用系统的可打开文件句柄数。

f.flush()

刷新输出缓存。

f.read([count])

读出文件全。若有count值,则读取count个字符

f.readline()

读出一行信息。

f.readlines()

读出所有行,也就是读出整个文件的信息。

f.write(string)

把string字符串写入文件。

f.writelines(list)

把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。

参数:

访问模式

说明

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

w

打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

rb

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

wb

以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

ab

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

访问模式

说明

r+

打开一个文件用于读写。文件指针将会放在文件的开头。

w+

打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a+

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

rb+

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

wb+

以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

ab+

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

//练习:正则表达式re 处理字符串

# 练习3:统计小说中的单词频次
import re
f = open('Walden.txt', 'r')
txt = f.read()   # 读取进来的数据类型是字符串
f.close()
txt = txt.lower()
txt = re.sub('[,.?:"\'!-]', '', txt)   # 去除小说中的标点符号
words = txt.split()   # 单词分割
word_sq = {}
for i in words:
    if i not in word_sq.keys():
        word_sq[i] = 1
    else:
        word_sq[i] += 1
res = sorted(word_sq.items(), key=lambda x:x[1], reverse=True)  # 排序
print(res)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值