#python datatype
好久沒用,完了不少,寫個複習筆記以供以後使用
python 最基本的資料是序列,序列的基本特點就是可以索引,但是要記住python的index同c一樣,是從0開始的。
序列的基本操作包括:indexing(索引),sliceing(分片),interation(迭代),以及adding和mulitplying。
pyhton中最常見的型別為:list,tuple,sting,dic,set.其中list作為一種"動態"陣列,可以隨時改變它的值,因此在一維的資料儲存中十分常用。string用於字元型別資料的儲存,與list有異曲同工之妙。但是string不可以更改,並且儲存的資料型別為str,list則不同,list的資料型別可以是多種多樣的,一般而言,我認為list是更加靈活的。
tuple是一種不可更改的陣列,函式返回多個值的時候返回的就是乙個tuple。
dic是唯一的一種對映型別資料,由key與value組成。
但涉及到科學計算中多維資料,普通的python資料就不太適用了,這時候推薦numpy模組的ndarray。
先看看索引
nums = [1, 2, 3, 4, 5] # 列表
nums[0]=1
num[-1]=5 #負向取值也是十分常用的手法
再看看字串,補充字串常用的方法strip
str.strip(rm)#刪除字串開頭結尾的rm字元
s = 'abcdef' # 字串
s[0]='a'
str.strip(rm)#刪除字串開頭結尾的rm字元
#rm為空缺省刪除空格符
tuple,注意tuple用()表示,可以與不可更改聯絡記憶,list用[ ]取用
a = (1, 2, 3) # 元組
a[0]=1
再試下分片功能,這個功能十分常見,比如要取用總的list中某一部分,或者更改某一部分
記住索引時第乙個index取用,最後乙個index不取用
numbers = [1, 2, 3, 4, 5, 6]
numbers[0:2]=[1, 2] # 列表分片
#更改一部分
numbers[1:3]=[7,8]
>>>numbers=[1,7,8,4,5,6]
另外:的操作還有一些有趣的地方忽略則認為從頭開始或者到最後
nums = numbers[:]
>>>nums=[1,2,3,4,5,6]
num=numbers[-3:]
>>>num=[4,5,6]
另外在引用時還可以更改步長,left_index:right_index:step,當然right_index不被包含
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
num=numbers[4:1:-1]
>>>num=[5,4,3]
加法,加法在合併資料時十分有用,但是我們時常使用逆思想,將乙個有規律的資料(字串)拆分成加法的形式
[1, 2, 3] + [4, 5, 6] # 「加法」效果其實就是連線在一起
[1, 2, 3, 4, 5, 6]
n='aaaa'
for i in range(4):
n[i]='the time is'+'2017 12 '+str(i)
最後再談談python中物件的型別與型別轉換
python物件型別為int,float,str
時常會涉及資料的轉換,因為不同的資料之間無法互動,某項情況下只能使用特定的資料型別
type(1)
type('1')
type(1.0)
type(str(1))
關於Python那些事兒
1.易於學習 python有相對較少的關鍵字,結構簡單,和乙個明確定義的語法,學習起來更加簡單。2.易於閱讀 python 定義的更清晰。3.易於維護 python的成功在於它的源 是相當容易維護的。4.乙個廣泛的標準庫 python的最大的優勢之一是豐富的庫,跨平台的,在unix,windows和...
Python那些事兒 資料放縮
討論如何對資料進行放縮 import numpy as np np.random.seed 10 x np.random.randomint 10,25 1.0 for i in range 10 defmin max x return round round xx min x 1.0 max x ...
python那些事兒pdf python那些事兒
關於引號 單引號和雙引號的意義相同,都表示字串,單雙引號交替使用可以避免轉義符的麻煩。例如我們想在字串中包含乙個引號通常需要 這樣轉義,而如果用單引號來表示字串,那麼中間的雙引號表示引號就不需要斜槓轉義。例如 print i love kak a 這個輸出裡面就包含了單引號,輸出結果為i love ...