【Python】python基本知識點——包括 tuple(元組)等結構、讀取鍵盤鍵入值字符串raw_input()函數


參考

https://blog.csdn.net/qq_33679504/article/details/80516751】【tuple基本知識點】

https://www.cnblogs.com/ddpeng/p/7995444.html

 

  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() 命令查看類型
#    返回結果為
#    <type 'tuple'>

  繼續向 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元組內進行類型查看
#    結果顯示
#    <type 'numpy.ndarray'>

 

【判斷 tuple 里是否為空的方法?判斷list是否為空?】

【參考】

https://www.jb51.net/article/149281.htm

https://blog.csdn.net/MG_ApinG/article/details/85450197】【這個比較全】

  

  我采用了根據 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)
#    屏顯:
#    <type 'str'>

#    =============================

Query=raw_input('Enter your Query Word:')
#    屏顯 並鍵入
#    Enter your Query Word:>? 暴雨
Query
#    屏顯
#    u'\u66b4\u96e8'    可以看到同樣都是Query為“暴雨” 但二者編出的碼不一樣
type(Query)
#    屏顯
#    <type 'unicode'>    該Query的編碼方式是unicode 而最上面是str 最上面的形式才是我想要的

#===============================

Query=raw_input('Enter your Query Word:').encode('utf-8')
#    屏顯 並鍵入
#    Enter your Query Word:>? 暴雨
type(Query)
#    屏顯
#    <type 'str'>
Query
#    屏顯
#    '\xe6\x9a\xb4\xe9\x9b\xa8'    可以看到現在和最上面的Query“暴雨”終於一樣了 二者編碼都是str了 而且碼也一致了

 

 


 

其他

 

 

 


 

待補充。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM