参考
tuple结构是不可以修改的,也不可以进行append,起初我以为和matlab中的cell 结构相似,结果emmm……
首次了解 tuple结构,是在 np.where()中返回的查询结果进行 type() 类型查看时候发现的。
例如:
np.where(data_t2 == Query) #查询data_t2这个dataframe中等于Query代表的字符串的位置。
#检索结果#(array([5914], dtype=int64), array([0], dtype=int64))
上述检索结果: (array([5914], dtype=int64), array([0], dtype=int64)) 当中,是一个 tuple元组,是一个里面包含了两个 array结构的 tuple元组。
type(np.where(data_t2 == Query)) #对np.where的反馈结果进行type() 命令查看类型#返回结果为#
继续向 tuple 里面查看
np.where(data_t2 ==Query)[0]#结果显示#array([5914], dtype=int64)
np.where(data_t2== Query)[1]#结果显示#array([0], dtype=int64)
type(np.where(data_t2== Query)[0]) #再使用type()对tuple元组内进行类型查看#结果显示#
【判断 tuple 里是否为空的方法?判断list是否为空?】
我采用了根据len() 函数的返回长度值确定是否为空,若空,则 len值 是0;非空,则 len值 不为0;
len(np.where(data_t1 ==Query)[0] )#0
len(np.where(data_t1== Query)[1] )#0
len(np.where(data_t2==Query)[0] )#1
len(np.where(data_t2== Query)[1] )#1
raw_input() 函数:读取键盘键入值,读取用户键盘输入。
raw_input() 函数从标准输入读取一个行。并返回一个字符串(去掉结尾的换行符):
str = raw_input("Enter your input: ");
print "Received input is : ", str
【举例】
Query=raw_input('Enter your Query Word:')#Enter your Query Word:>? 暴雨
print "Received input is :", Query#Received input is : 暴雨
【一个问题】
【unicode编码转str】
进行上述键入raw_input()函数时,发现raw_input()读入的中文字符,其type()类型为“unicode”。
而很遗憾的是,python中变量type()是string(str)类型的变量,二者使用的中文编码方式不一样,python变量这里默认是“utf-8”格式的编码
md找了好多文档结果带着跑了弯路,都在说什么用gbk编码、gb2312、blablabla的都不是我要的……(主要还是对各类编码不太了解 想了解编码格式可以戳这个
如何对python中的字符进行编码与解码 请戳这个
【举例】
我使用raw_input() 并且完成编码转换的
Query='暴雨'Query#屏显:#'\xe6\x9a\xb4\xe9\x9b\xa8'
type(Query)#屏显:#
#=============================
Query=raw_input('Enter your Query Word:')#屏显 并键入#Enter your Query Word:>? 暴雨
Query#屏显#u'\u66b4\u96e8' 可以看到同样都是Query为“暴雨” 但二者编出的码不一样
type(Query)#屏显# 该Query的编码方式是unicode 而最上面是str 最上面的形式才是我想要的
#===============================
Query=raw_input('Enter your Query Word:').encode('utf-8')#屏显 并键入#Enter your Query Word:>? 暴雨
type(Query)#屏显#
Query#屏显#'\xe6\x9a\xb4\xe9\x9b\xa8' 可以看到现在和最上面的Query“暴雨”终于一样了 二者编码都是str了 而且码也一致了
其他
待补充。。。