Python 入門之資料型別之間的相互轉換

2021-10-01 10:10:09 字數 2389 閱讀 3156

1.資料型別總結:

可變,不可變,有序,無序

(1)可變的資料型別:list dict set(2)不可變的資料型別:int str bool tuple(3)有序的資料型別:list tuple str(4)無序的資料型別:dict set(5)取值方式:<1> 索引: list tuple str<2> 鍵: dict<3> 直接:int bool set2、資料型別轉換:<1> 元組 => 列表 list(tuple)tu = (1,23,5,4)print(list(tu))<2> 列表 => 元組 tuple(list)lst = [1,23,5,4]print(tuple(lst))<3> list=>str str.join(list)lst = [

"1",

"2",

"3"]print(

"".join(lst))<4> str=>list str.split()s = 

"alex wusir 太白"

print(s.split())<5>轉換成false的資料: 0,'',none,,(),{},set() ==> false`list -- str ( 重點)lst = [

"1",

"2",

"3"]print(

"".join(lst))str -- lists = 

"alex wusir 太白"

print(s.split())3、以後要遇到的坑(1)迴圈新增(2)列表迴圈刪除

列表: 迴圈刪除列表中的每⼀個元素

li = [11, 22, 33, 44]fore inli:    li.remove(e)print(li)結果:[22, 44]

分析原因: for的運⾏過程. 會有⼀個指標來記錄當前迴圈的元素是哪⼀個, ⼀開始這個指標指向第0 個.然後獲取到第0個元素. 緊接著刪除第0個. 這個時候. 原來是第⼀個的元素會⾃動的變成 第0個.然後指標向後移動⼀次, 指向1元素. 這時原來的1已經變成了0, 也就不會被刪除了.

⽤pop刪除試試看:

li = [11, 22, 33, 44]fori inrange(0, len(li)):   delli

print(li)結果: 報錯

i= 0, 1, 2 刪除的時候li[0] 被刪除之後. 後⾯⼀個就變成了第0個.

以此類推. 當i = 2的時候. list中只有⼀個元素. 但是這個時候刪除的是第2個 肯定報錯啊

經過分析發現. 迴圈刪除都不⾏. 不論是⽤del還是⽤remove. 都不能實現. 那麼pop呢?

for el in li: li.pop() # pop也不⾏print(li)結果:[11, 22](3)列表迴圈刪除成功

只有這樣才是可以的:

for i in range(0, len(li)): # 迴圈len(li)次, 然後從後往前刪除 li.pop()print(li)

或者. ⽤另⼀個列表來記錄你要刪除的內容. 然後迴圈刪除

注意: 由於刪除元素會導致元素的索引改變, 所以容易出現問題. 盡量不要再迴圈中直接去刪 除元素. 可以把要刪除的元素新增到另⼀個集合中然後再批量刪除.

(4)字典的坑

dict中的fromkey(),再次重提 可以幫我們通過list來建立⼀個dict

dic = dict.fromkeys(["jay", "jj"], ["周杰倫", "麻花藤"])print(dic)結果:

**中只是更改了jay那個列表. 但是由於jay和jj⽤的是同⼀個列表. 所以. 前⾯那個改了. 後面那個也會跟著改 

字典和集合在遍歷(迴圈)時不能修改原來的大小(字典的長度),可以進行修改值

dict中的元素在迭代過程中是不允許進⾏刪除的

dic =

(5)刪除key中帶有'k'的元素for k in dic:  if 'k' in k: del dic[k] # dictionary changed size during iteration, 在迴圈迭代的時候不允許進⾏刪除操作print(dic)

那怎麼辦呢? 把要刪除的元素暫時先儲存在⼀個list中, 然後迴圈list, 再刪除

Python入門 資料型別

資料型別可以說是這個應用 儲存資料的基本單元 以c c 為例 其中的型別 int,long,long long,float等等 除了 c c 中的獨特的void型 在python中亦然有整型,實型,字串型 python可以處理任意大小的整數,當然包括負整數,在程式中的表示方法和數學上的寫法一模一樣,...

Python入門 資料型別

小白初學python,寫部落格主要是為了自己日後翻閱便捷,也是督促自己學習,現還是學生 環境 windows 版本 2.7.13 字串 單引號 與雙引號 用法完全相同 三引號 或 可以指示乙個多行的字串,並且可以再三引號中自由使用單雙引號 轉義字元 在單雙引號內部用反斜槓 加想要表示的單引號或雙引號...

python 資料型別之間轉換

問題1 如何將乙個list轉化成乙個dictionary?問題描述 比如在python中我有乙個如下的list,其中奇數字置對應字典的key,偶數字置為相應的value 解決方案 1.利用zip函式實現 2.利用迴圈來實現 3.利用 enumerate 函式生成index來實現 問題2 我們如何將兩...