python 中列表 元組 字典 集合的區別


先看圖片解釋

 

 

(1)列表
什么是列表呢?我覺得列表就是我們日常生活中經常見到的清單。比如,統計過去一周我們買過的東西,把這些東西列出來,就是清單。由於我們買一種東西可能不止一次,所以清單中是允許有重復項的。如果我們擴大清單的范圍,統計我們過去一周所有的花費情況,那么這也是一個清單,但這個清單里會有類別不同的項,比如我們買東西是一種花費,交水電費也是一種花費,這些項的類型是可以使不同的。python的列表個跟清單的道理是一樣的,特點就是:可重復,類型可不同。類型不同也是跟數組最本質的區別了。python里的列表用“[]”表示:
lst = ['arwen',123]
print(lst[0])
print(st[1])

lst[0] = 'weiwen'

(2)元組

tup = ('arwen',123)
print(tup[0])
print(tup[1])

 

元組和列表在結構上沒有什么區別,唯一的差異在於元組是只讀的,不能修改。元組用“()”表示,如:

 

(3)集合就是我們數學學的集合,沒有什么特殊的定義。集合最好的應用是去重。集合沒有特殊的表示方法,而是通過一個set函數轉換成集合,如:

lst = [ 1, 1, 0]

lst_set = set( lst )  #lst_set 為1 , 0

tup = (2, 2, 1)

tup_set = set( tup) # tup_set為2 , 1
for item in lst_set:
    print(item)

(4)最后一個是字典。字典存儲鍵值對數據,如:

lists = {1:'a',2:'b',3:'c'}

#字典最外面用大括號,每一組用冒號連起來,然后各組用逗號隔開。
#字典最大的價值是查詢,通過鍵,查找值。

例子:

1、列表元組轉其他

 

# 列表轉集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
set(list1)
# {6, 7, 8, 9}

#兩個列表轉字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
dict(zip(list1,list2))
# {'key1': '1', 'key2': '2', 'key3': '3'}

#嵌套列表轉字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
# {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

# 列表、元組轉字符串
list2 = ['a', 'a', 'b']
''.join(list2)
# 'aab'

tup1 = ('a', 'a', 'b')
''.join(tup1)
# 'aab

2、字典轉其他

 

# 字典轉換為字符串
dic1 = {'a':1,'b':2}
str = str(dic1)
print(str)
# "{'a': 1, 'b': 2}"

# 字典key和value互轉
dic2 = {'a': 1, 'b': 2, 'c': 3}
dic3 = {value:key for key, value in dic2.items()}
print(dic3)
# {1: 'a', 2: 'b', 3: 'c'}

3、字符串轉其他

 

# 字符串轉列表
s = 'aabbcc'
list(s)
# ['a', 'a', 'b', 'b', 'c', 'c']

# 字符串轉元組
tuple(s)
# ('a', 'a', 'b', 'b', 'c', 'c')

# 字符串轉集合
set(s)
# {'a', 'b', 'c'}

# 字符串轉字典
dic2 = eval("{'name':'ljq', 'age':24}")

# 切分字符串
a = 'a b c'
a.split(' ')
# ['a', 'b', 'c']

二、字典的分割、合並

 

#分割:
base = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}
subkey = ['C', 'E']
subdict=dict([(key, base[key]) for key in subkey])
print(subdict)
#{'C': 3, 'E': 5}

#合並:
#方式一:
d1={'user':'root','pwd':'1234'}
d2={'ip':'127.0.0.1','port':8080}
d3=dict(d1, **d2)
print(d3)

#方式二:
d1={'user':'root','pwd':'1234'}
d2={'ip':'127.0.0.1','port':8080}
d3={}
for k,v in d1.items():
    d3[k] = v
for k,v in d2.items():
    d3[k] = v
print(d3)

三、list分割、合並

 

a=[1,2,3,4,5,6]
b=['a','b','c','d']
print(a+b)

a=[1,2,3,4,5,6]
b=['a','b','c','d']
a+=b
print(a)

a=[1,2,3,4,5,6]
b=['a','b','c','d']
a.extend(b)
print(a)

a=[1,2,3,4,5,6]
b=['a','b','c','d']
a[0:0]=b
print(a)

li = ['a','b','c']
res1=';'.join(li)
res2=''.join(res1).split(';')

 

 
 
 
 
 


免責聲明!

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



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