python元組列表轉換
A. python中列表和元組之間有什麼區別
除了元組是不可變的之外,還應有語義上的區別來指導它們的用法。元組是異構數據結構(即它們的條目具有不同的含義),而列表是同類序列。元組具有結構,列表具有順序。
使用這種區別可以使代碼更加明確和易於理解。
一個示例是成對的頁和行號,以成對參考書中的位置,如:
my_location = (42, 11) # page number, line number
然後,可以將其用作字典中的鍵來存儲有關位置的注釋。另一方面,列表可用於存儲多個位置。自然地,人們可能想在列表中添加或刪除位置,因此使列表可變是有意義的。另一方面,從現有位置添加或刪除項目沒有意義-因此,元組是不可變的。
在某些情況下,可能想更改現有位置元組中的項目,例如在頁面的各行中進行迭代時。但是元組不變性迫使您為每個新值創建一個新的位置元組。從表面上看,這似乎很不方便,但是使用這樣的不可變數據是值類型和函數式編程技術的基石,它可以具有很多優點。
官方Python文檔也提到了這一點
「組是不可變的,並且通常包含一個異類序列…」。
在像Haskell這樣的靜態類型語言中,元組中的值通常具有不同的類型,並且元組的長度必須固定。在列表中,所有值都具有相同的類型,並且長度不是固定的。因此區別非常明顯。
B. python2.7中列表和元組間的轉化,如何將一個包含元組的列表變成一個列表,具體如下所示。
[list(i[0]) for i in aaa]
C. 在python中,列表,字典的相互轉換
列表、元組、集合、字典相互轉換
一、列表元組轉其他
1、列表轉集合(去重)
list1
=
[6,
7,
7,
8,
8,
9]
set(list1)
#
{6,
7,
8,
9}
2、兩個列表轉字典
list1
=
['key1','key2','key3']
list2
=
['1','2','3']
dict(zip(list1,list2))
#
{'key1':
'1',
'key2':
'2',
'key3':
'3'}
3、嵌套列表轉字典
list3
=
[['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
#
{'key1':
'value1',
'key2':
'value2',
'key3':
'value3'}
4、列表、元組轉字元串
list2
=
['a',
'a',
'b']
''.join(list2)
#
'aab'
tup1
=
('a',
'a',
'b')
''.join(tup1)
#
'aab'
二、字典轉其他
1、
字典轉換為字元串
dic1
=
{'a':1,'b':2}
str(dic1)
#
"{'a':
1,
'b':
2}"
2、字典key和value互轉
dic2
=
{'a':
1,
'b':
2,
'c':
3}
{value:key
for
key,
value
in
a_dict.items()}
#
{1:
'a',
2:
'b',
3:
'c'}
三、字元串轉其他
1、字元串轉列表
s
=
'aabbcc'
list(s)
#
['a',
'a',
'b',
'b',
'c',
'c']
2、字元串轉元組
tuple(s)
#
('a',
'a',
'b',
'b',
'c',
'c')
3、
字元串轉集合
set(s)
#
{'a',
'b',
'c'}
4、字元串轉字典
dic2
=
eval("{'name':'ljq',
'age':24}")
5、切分字元串
a
=
'a
b
c'
a.split('
')
#
['a',
'b',
'c']
D. python中列表,元組,字元串如何互相轉換
1. str轉list
list = list(str)
2. list轉str
str= ''.join(list)
3. tuple list相互轉換
tuple=tuple(list)
list=list(tuple)
E. python中提供的數據類型轉換函數有哪些,作用是什麼
作用就是把合理的數據轉換為需要的類型。int()整數,float()浮點數,str()字元串,list()列表,tuple()元組,set()集合……
比如a='12'這個是字元串類型,用int函數a=int(a)這時變數a就是整型,字元串'12'變為了整數12。Python沒有變數聲明的要求,變數的屬性在賦值時確定,這樣變數的類型就很靈活。
有一種題目判斷一個整數是否迴文數,用字元串來處理就很簡單
a=1234321#整數
if str(a)==str(a)[::-1]:#藉助字元串反轉比較就可以確定是否迴文數。
還比如元組b=(1,3,2,4),元組是不可以更新刪除排序成員的,但是列表是可以的,通過列表函數進行轉換來實現元組的更新刪除和排序。
b=(1,3,2,4)
b=list(b)
b.sort()
b=tuple(b)
這時得到的元組b就是一個升序的元組(1,2,3,4)
再比如你要輸入創建整數列表或者整數元組基本上寫法相同,就是用對應的函數來最後處理。
ls=list(map(int,input().split()))#這個就是列表
tup=tuple(map(int,input().split()))#這個就是元組
再比如有個叫集合的,集合有唯一性,可以方便用來去重。
ls=[1,2,3,1,2,3,1,2,3]
ls=list(set(ls))#通過set()去重後,現在的ls里就是[1,2,3]去重後的列表。
F. Python列表,元組,集合,字典的區別和相互
元組和列表是類似的, 只是元組不可修改內容
注意這里指的是不可修改元組元素的指向, 你可以修改內容指向的內容
>>>lst=[1,2,3]#定義列表
>>>a=(1,2,lst,4)#注意元組a的a[2]是一個列表
>>>a
(1,2,[1,2,3],4)
>>>a[2]=4#試圖修改元組元素的指向,報錯
Traceback(mostrecentcalllast):
File"<pyshell#3>",line1,in<mole>
a[2]=4
TypeError:'tuple'
>>>a[2][0]=0#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3],4)
>>>a[2].append(5)#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3,5],4)
字典完全區別於列表和元組
因為字典使用hash表來存儲, 所以只有能夠進行hash運算的才能作為鍵值
個人認為, 一般不可變的都能作為鍵, 比如str/tuple/None/function.列表不能作為鍵
最後, 由於字典是hash表演算法{字典查找O(1), 列表遍歷O(n)}, 在數據量巨大的時候, 字典的查找效率出奇的高
G. python 3 元組列表轉換成字典
l=[(1,2),(2,4),(5,1),(9,2),(3,5)]
d=dict(l)
print(d)
字典內部是無序的,沒有順序的概念。
H. python字元串如何轉元組
a='(4,0.14962672538551106),(11,0.050201870933536494),(19,0.062380341462657217),(24,0.025186757454605892),(25,0.15370766369498617)'
print'-------a------- ',a
b=a.split('),')
foriinrange(len(b)-1):
b[i]=b[i]+')'
print' -------b------- ',b,' -------c-------'
c=[]
foriinb:
printtuple(eval(i))
c.append(tuple(eval(i)))
I. python中什麼方法用於接收一個元祖並返回一個列表
元祖轉列表 方法:list( tup),tup要轉換為列表的元組 返回值:返回轉換後的列表。 列表轉元祖 方法:tuple(list),list要轉換成元組的列表 返回值:轉換後的元組。
序列分為三種,字元串,元祖,列表。
元祖是用()來定義。多元素用,號分割。只有一個元素也要加號,元祖里可以存放任意數據,包過另外一個元祖。元祖里是可以存放變數的,當存放了變數後,變數的值就會被元祖讀取。 列表就是處理一組有序項目的數據結構,即可以在列表中存儲一個序列的項目。列表的創建是用[ ] 來創建。取值,用切片和索引來取值。添加數據,在列表裡新追加一個數據。使用.append()方法。