1. 程式人生 > >Python基礎資料結構之資料轉換(Dict,Set,Tuple,List)

Python基礎資料結構之資料轉換(Dict,Set,Tuple,List)

本章是Python基礎資料結構的第六篇,由於之前沒有接觸過太多的Python版本的資料結構,所以在學習的過程中集百家之長和自己的見解,加以實踐,學習Python。
Python中用到tuple的方法,和注意事項都以程式碼的形式體現

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017-4-24 16:19
# @Author  : coderManFans
# @Site    : 資料結構轉換demo
# @desc      set,list,dict,tuple之間的相互轉換
# @File    : dataconvertDemo.py
# @Software: PyCharm #1. list轉--->set,dict,tuple #1.1 list轉set 注意:1.重複資料會被清除 2.不保證順序 list1 = [2,3,44,3,3,3,33,3,3,23] set1 = set(list1) print(set1) #1.2 list轉dict 不保證順序 #1.2.1 方法1,需要兩個list,分別對應於key list,value list list2 = ['key1','key2','key3','key4'] list3 = [1,3,3,2] dict1 = dict(zip(list2,list3)) print(dict1) #1.2.2 方法2,將巢狀列表轉換為字典,就是二維陣列,如果某個元素不是二維陣列則報錯
list4 =[['a','we'],['b','are'],['c','a'],['d','family']] dict2 = dict(list4) print(dict2) #1.2.3 方法3,迴圈轉換 dict3 = {} for i in list4: dict3[i[0]] = i[1] print(dict3) #3. list轉tuple list5 = [2,3,4,3,43,'232'] tup1 = tuple(list5) tup2 = tuple(list4) print(tup1) print(tup2) #2. set--->list,dict,tuple
#2.1 set轉list 重複元素在set中被清除,list只有不重複元素 set2 = set('asdfasdfs2323sdfasdf') list6 = list(set2) print(list6) set3 = set(['23','222','23','2324','adfasd','1']) list7 = list(set3) print(list7) #2.2 set轉dict 不能轉換,set裡面不分鍵值,全是值,或者全是鍵,dict兩種都有 #2.3 set轉tuple set4 = set('asdfasdfasdf323') tup3 = tuple(set4) print(tup3) set5 = set([2,3,43,43,433,323,2,43]) tup4 = tuple(set5) print(tup4) #3. dict-->list,set,tuple #3.1 dict轉list 轉換為兩個list 一個是key list,另一個value list dict4 = {'a':1,'b':2,'c':3} list8 = list(dict4.keys()) print(list8) list9 = list(dict4.values()) print(list9) #3.2 dict轉set,set轉dict 不能轉換,set裡面不分鍵值,全是值,或者全是鍵,dict兩種都有 #3.3 dict轉tuple 轉換為兩個tuple key-tuple,value-tuple dict5 = {'age':23,'name':'zhangsan','school':'ssdsd','money':230.2323} tup5 = tuple(dict5) print(tup5) tup6 = tuple(dict5.values()) print(tup6) #4. tuple--->list,dict,set #4.1 tuple轉list tup7 = ('232','23232',2323,'weasdfasd') list9 = list(tup7) print(list9) #4.2 tuple轉set tup8 = ('2323','sdfsdf','2323','sdds','wwe','2323',23,23.33) set6 = set(tup8) print(set6) #4.3 tuple轉dict 無法轉換 tuple不可變,同時沒有key,value的含義 tup9 = (('a',1),('b',2),('c',3),('d',4)) dict6 = dict(tup9) print(dict6) #複合資料型別 dict7 = {"a":[1,2,3,4,5],"b":[2,4,5,6,7],"c":[4,5,6,7,9,0]} for x in dict7: if 2 in dict7[x]: dict7[x].extend([2,3,45,6]) print(dict7) dict8 = {"a":{"2",'sd',3,3,3,"we"},"b":{"sdf",23,"sdf",222,'sd'}} print(dict8)