Python序列類型的方法及類型轉換

Python序列類型的方法及類型轉換

0.上節課整理

1.聲明變量,變量的三個屬性,變量的命名規則,什么是變量?
2.數值類型(4種),以及常用運算符
3.三種序列類型,如何定義?可變與不可變
4.序列類型的取值,(索引,切片,步長) # 正負只是決定取值方向
4.如何判斷可變與不可變
5.dir(),help(),type(),id(),print()   內置函數
常見的錯誤與問題:
1.print與idle直接運行
2.NameError:'x' is not defined
3.各種彈出提示框的報錯:沒注釋掉非代碼片段,少了符號,中文符號。
4.shell中返回值和print都會被打印出來,但是你可以用一個變量得到返回值打印,但是你用
print就不能用一個變量來得到print打印的內容
1.list的常用方法
2.字符串常用的方法
3.序列類型的轉換及成員運算

1.list的常用方法

列表方法不多,每一種都會講解

dir(list)可以查看列表的所有方法
 L.append(object) -> None -- append object to end
 L.clear()        -> None -- remove all items from L
 L.copy()         -> list -- a shallow copy of L
 L.count(value)   -> integer -- return number of occurrences of value
 L.extend(iterable)-> None -- extend list by appending elements from the iterable
 
 L.index(value, [start, [stop]]) -> integer -- return first index of value.
    Raises ValueError if the value is not present.
 L.insert(index, object) -- insert object before index
 L.pop([index]) -> item -- remove and return item at index (default last).
    Raises IndexError if list is empty or index is out of range.
 
 L.remove(value) -> None -- remove first occurrence of value.
    Raises ValueError if the value is not present.
 L.reverse() -- reverse *IN PLACE*
 L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
 附加:
    內置函數:sorted() reversed()

2.str常用的方法

字符串的方法有44種,本節課只會挑選常用的講解,但會給大家一份文件,里面有44中字符串方法的講解。

S.count(sub[, start[, end]]) -> int
S.find(sub[, start[, end]]) -> int
    Return -1 on failure.
S.index(sub[, start[, end]]) -> int 
    Like S.find() but raise ValueError when the substring is not found.
S.endswith(suffix[, start[, end]]) -> bool
S.startswith(prefix[, start[, end]]) -> bool
S.isalpha() -> bool
S.isdigit() -> bool
S.lower() -> str
S.upper() -> str
S.replace(old, new[, count]) -> str
S.split(sep=None, maxsplit=-1) -> list of strings
S.join(iterable) -> str

數值類型主要是用來是做運算的,所以還會有如下的運算符

#數值運行常用運算符
+ - * / //(整除,向下取整) %(取余) ** (冪)

#賦值運算符   
=  +=  -=   *=  /=  ....

基本數值類型中前三種是常用的,復數在數學里面用得多,但是一般是用不上的。

3.數據類型的轉換及成員運算

01.類型轉換

在python中三種序列類型,序列類型簡單來說就是對象里面的元素是有順序的。

既然都是有序,那么這三者之間可以相互轉換嗎?

字符串 str
列表   list
元組   tuple
可變序列:list
不可變序列:tuple,str
序列類型轉換:
    str(),list(),tuple()
數值類型轉換:
    int(),float(),complex(),bool()

序列類型做為基本的數據類型是大家必須要掌握的,在python中大家會經常見到這三種數據類型。

02.總說運算符
算數運算: + - * / // % **
比較運算: 
    ==   
    != 
    > 
    < 
    >=
    <=

賦值運算:
=
+= 、 -=、 *=、 /=、 %= 、**=、 //=

邏輯運算:
and
or
not

成員運算:
in
not in

運算符的優先級

運算符 描述
** 指數 (最高優先級)
*,/,%,// 乘,除,取模和取整除
+,- 加法減法
<,>,<=,>= 比較運算符
==,!= 等于運算符
= ,%= ,/=, //=, -=, +=, *=, **= 賦值運算符
is , is not 身份運算符
in, not in 成員運算符
not, or , and 邏輯運算符

總結

last_li = ['1',['2','nvzhuangdalao', 'Thailander'],
              ['2','Java', 'Python', 'Ruby', 'PHP', ['3','zhaoliying','guanxiaotong','Hi python']],
              ['2','liuguoliang', 'luoshengmen', ('kezhendong','lamo'), ['3','luhan','wuyifan','wangbaoqiang']]
]
1.如何取出('kezhendong','lamo')
2.如何去除'zhaoliying'中的'zhao'?
3.如何刪除'nvzhuangdalao'?

Python中數值類型和我們日常使用沒有差別,是一樣的。對于序列類型,大家記住每種序列類型的定義和通用操作,在后面使用多了之后自然就能加深理解。

第二次作業

 #1.用3種方法,往列表里面插值


#2.給定列表 li =['a','b','c','d'],要求用2種方法, 將列表'c'元素,替換成'jianeng'
# li=['a','b','jianeng','d']


#3.te = 'string test'  如何把te 中的'test' 替換成'OK'


#4.將字符串 s ='hello python !',轉換成列表 li=['hello','python','!']

L.append(obj) 在列表末尾添加新的對象。
L.clear() 清空整個列表。
L.copy() 復制列表,和L[:]的復制方式一樣屬于淺復制。
L.count(obj) 統計某個元素在列表中出現的次數。
L.extend(obj) 用obj擴展原來的列表。 obj可以是列表和元組,如果是字典,則只會添加字典的key
L.index(obj) 從列表中找某個值第一個匹配項的索引位置。
L.insert(index,obj) 插入元素,可以指定位置。
L.pop(index) 出棧,可以指定位置。index默認是L[-1]
L.remove(obj) 移除指定元素從左邊開始的第一個。
L.reverse() 反向列表中元素。
L.sort() 對原列表進行排序。列表中的元素要類型相同  (key = len int lambda)
    
內置函數:
sorted() 和 reversed()

s.count(x):返回字符串x在s中出現的次數,帶可選參數
s.endswith(x):如果字符串s以x結尾,返回True
s.startswith(x):如果字符串s以x開頭,返回True
s.find(x) :返回字符串中出現x的最左端字符的索引值,如果不在則返回-1
s.index(x):返回字符串中出現x的最左端的索引值,如果不在則拋出valueError異常
s.isalpha ()  :測試是否全是字母,都是字母則返回 True,否則返回 False.
s.isdigit () :測試是否全是數字,都是數字則返回 True 否則返回 False.
s.islower () :測試是否全是小寫
s.isupper () :測試是否全是大寫
s.lower () :將字符串轉為小寫
s.upper () :將字符串轉為大寫 
s.replace (x,y) :子串替換,在字符串s中出現字符串x的任意位置都用y進行替換
s.split():返回一系列用空格分割的字符串列表
s.split(a,b):a,b為可選參數,a是將要分割的字符串,b是說明最多要分割幾個

int('12',16)這里有兩個地方要注意:1)12要以字符串的形式進行輸入,如果是帶參數base的話
2)這里并不是將12轉換為16進制的數,而是說12就是一個16進制的數,int()函數將其用十進制數表示,如下
complex(real,[,imag])
complex(1)  1+0j   complex(1,2)  1+2j complex('1')1+0j 
repr()是將一個對象可視化,使用字符串輸出,使編程人員看到其的內部結構
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容