『壹』 python中列表和元組之間有什麼區別
除了元組是不可變的之外,還應有語義上的區別來指導它們的用法。元組是異構數據結構(即它們的條目具有不同的含義),而列表是同類序列。元組具有結構,列表具有順序。
使用這種區別可以使代碼更加明確和易於理解。
一個示例是成對的頁和行號,以成對參考書中的位置,如:
my_location = (42, 11) # page number, line number
然後,可以將其用作字典中的鍵來存儲有關位置的注釋。另一方面,列表可用於存儲多個位置。自然地,人們可能想在列表中添加或刪除位置,因此使列表可變是有意義的。另一方面,從現有位置添加或刪除項目沒有意義-因此,元組是不可變的。
在某些情況下,可能想更改現有位置元組中的項目,例如在頁面的各行中進行迭代時。但是元組不變性迫使您為每個新值創建一個新的位置元組。從表面上看,這似乎很不方便,但是使用這樣的不可變數據是值類型和函數式編程技術的基石,它可以具有很多優點。
官方Python文檔也提到了這一點
「組是不可變的,並且通常包含一個異類序列…」。
在像Haskell這樣的靜態類型語言中,元組中的值通常具有不同的類型,並且元組的長度必須固定。在列表中,所有值都具有相同的類型,並且長度不是固定的。因此區別非常明顯。
『貳』 python 把列表當作堆棧使用方法是什麼
5.1.1. 把列表當作堆棧使用
列表方法使得列表可以很方便的做為一個堆棧來使用,堆棧作為特定的數據結構,最先進入的元素最後一個被釋放(後進先出)。用 append() 方法可以把一個元素添加到堆棧頂。用不指定索引的 pop() 方法可以把一個元素從堆棧頂釋放出來。例如:
>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]
『叄』 Python 列表
是不是這個list讓你感覺有些困擾呢,你看一下我下面的表示方式:
你的list和我的abc都是表示一個列表名。
del abc[1]:調用系統方法del,刪除列表abc中索引為1的項;
abc.pop():調用列表(這里為abc)本身的方法pop(),刪除abc列表的最後一項。
abc[1]中用方括弧是列表的索引操作,為列表自身的規則;pop()中也可以傳入參數用於表示索引位置,但此處為向方法內傳入位置參數。
方法來源不一樣,使用規則有差別。
『肆』 能不能詳細解釋下Python列表
一、概念
在Python中,列表(list)是常用的數據類型。列表由一系列按照特定順序排列的項(item)組成。列表用方括弧「[]」括起來,並用逗號「,」來分隔其中的項。
例如,下面的列表包含了幾種用字元串表示的水果:
列表中的項和項之間的數據類型也可以不同。例如,下面的列表包含了數字和字元串:
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
『伍』 Python中列表的方法有什麼
Python中的列表內建了許多方法。在下文中,使用「L」代表一個列表,使用「x」代表方法的參數,以便說明列表的使用方法。
1 append()方法
列表的append()方法用於將一個項添加到列表的末尾,L.append(x)等價於L[len(L):] = [x]。
例如,使用append()方法分別將'cow'和'elephant'添加到animals列表的末尾:
>>>animals=['cat','dog','fish','dog']
>>>animals.append('cow')#等價於animals[4:]=['cow']
>>>animals
['cat','dog','fish','dog','cow']
>>>animals.append('elephant')#等價於animals[5:]=['elephant']
>>>animals
['cat','dog','fish','dog','cow','elephant']
2 ()方法
列表的()方法用於將一個項插入指定索引的前一個位置。L.(0, x)是將x插入列表的最前面,L.(len(L)), x)等價於L.append(x)。
例如,使用()方法分別將'cow'和'elephant'插入animals列表:
>>>animals=['cat','dog','fish','dog']
>>>animals.(0,'cow')
>>>animals
['cow','cat','dog','fish','dog']
>>>animals.(3,'elephant')
>>>animals
['cow','cat','dog','elephant','fish','dog']
3 extend()方法
列表的extend()方法用於將可迭代對象的所有項追加到列表中。L.extend(iterable)等價於L[len(L):] = iterable。extend()和append()方法的區別是,extend()方法會將可迭代對象「展開」。
例如,分別使用append()方法和extend()方法在animals列表後面追加一個包含'cow'和'elephant'的列表:
>>>animals=['cat','dog','fish','dog']
>>>animals.append(['cow','elephant'])#此處append()參數是一個列表
>>>animals
['cat','dog','fish','dog',['cow','elephant']]
>>>animals=['cat','dog','fish','dog']
>>>animals.extend(['cow','elephant'])#此處extend()參數也是一個列表
>>>animals
['cat','dog','fish','dog','cow','elephant']
4 remove()方法
列表的remove()方法用於移除列表中指定值的項。L.remove(x)移除列表中第一個值為x的項。如果沒有值為x的項,那麼會拋出ValueError異常。
例如,使用remove()方法移除animals列表中值為'dog'的項:
>>>animals=['cat','dog','fish','dog']
>>>animals.remove('dog')
>>>animals
['cat','fish','dog']
>>>animals.remove('dog')
>>>animals
['cat','fish']
>>>animals.remove('dog')
Traceback(mostrecentcalllast):
File"",line1,in
ValueError:list.remove(x):xnotinlist
5 pop()方法
列表的pop()方法用於移除列表中指定位置的項,並返回它。如果沒有指定位置,那麼L.pop()移除並返回列表的最後一項。
例如,使用pop()方法移除animals列表中指定位置的項:
>>>animals=['cat','dog','fish','dog']
>>>animals.pop()
'dog'
>>>animals
['cat','dog','fish']
>>>animals.pop(2)
'fish'
>>>animals
['cat','dog']
在調用前面的列表方法後,並沒有列印任何值,而pop()方法列印了「彈出」的值。包括append()、()、pop()在內的方法都是「原地操作」。原地操作(又稱為就地操作)的方法只是修改了列表本身,並不返回修改後的列表。
在類型轉換時使用的int()函數,str()函數都有返回值:
>>>number=123
>>>mystring=str(number)#將返回值賦給變數mystring
>>>mystring
'123'
但是在使用「原地操作」時,大部分則不會有返回值,包括pop()方法也只是返回了被「彈出」的值,並沒有返回修改後的列表:
>>>animals=['cat','dog','fish','dog']
>>>new_animals=animals.append('cow')
>>>print(new_animals)
None
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
『陸』 python 把列表當作隊列使用方法
5.1.2. 把列表當作隊列使用
你也可以把列表當作隊列使用,隊列作為特定的數據結構,最先進入的元素最先釋放(先進先出)。不過,列表這樣用效率不高。相對來說從列表末尾添加和彈出很快;在頭部插入和彈出很慢(因為,為了一個元素,要移動整個列表中的所有元素)。
要實現隊列,使用 collections.deque,它為在首尾兩端快速插入和刪除而設計。例如:
>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry") # Terry arrives
>>> queue.append("Graham") # Graham arrives
>>> queue.popleft() # The first to arrive now leaves
'Eric'
>>> queue.popleft() # The second to arrive now leaves
'John'
>>> queue # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])
『柒』 關於Python列表的常用操作你會多少
只要把逗號分隔的不同的數據項使用方括弧括起來即可
List = ['wade','james','bosh','haslem']
與字元串的索引一樣,列表索引從0開始。列表可以進行截取、組合等!
『捌』 python 列表操作
list1=[1,2,3,4,5,6,6,6,7,8,9]
newlist=[Trueifi>3andi<5elseFalseforiinlist1]
『玖』 Python列表
#Python3.6
deflist_action():
#用單個大寫字母表示省:A,B,C,...
#用省的大寫字母開頭的兩個大寫字母表示該省的市:AA,AB,AC,BA,CA,...
sheng=["A","B","C"]
shi=["AA","AB","AC","AD",
"BA","BB","BC","BD",
"CA","CB","CC","CD"]
#查詢
deflocate_SS(sn,si):
status=[False,False]
try:
sheng.index(sn)
exceptValueError:
print("{}省市不在列表中。".format(sn))
returnstatus
else:
status[0]=True
try:
shi.index(si)
exceptValueError:
print("{}省在列表中,但{}市不在列表中。".format(sn,si))
returnstatus
else:
status[1]=True
print("{}省和{}市已經在列表中。".format(sn,si))
returnstatus
definsert_SS(sn,si):
st=locate_SS(sn,si)
ifst[0]isFalseandst[1]isFalse:
sheng.append(sn)
shi.append(si)
print("成功插入{}省,{}市。".format(sn,si))
elifst[0]andst[1]isFalse:
shi.append(si)
print("成功插入{}市。".format(si))
defdelete_SS(sn,si):
st=locate_SS(sn,si)
ifst[0]andst[1]:
shi.remove(si)
print("成功刪除{}市。".format(si))
foriteminshi:
ifitem.startswith(sn):
return
sheng.remove(sn)
print("城市列表中已無{0}省的城市,刪除{0}省。".format(sn))
else:
print("刪除失敗,輸入城市錯誤。")
while(True):
print("輸入操作如下:")
print("輸入:省份城市名查詢,查詢省份城市")
print("輸入:省份城市名添加,添加省份城市")
print("輸入:省份城市名刪除,刪除省份城市")
print("輸入:退出,退出。")
commond=input()
commond_list=commond.split()
iflen(commond_list)==1andcommond_list[0]=="退出":
exit()
eliflen(commond_list)==3:
sheng_,shi_,cmd=commond_list
ifcmd=="查詢":
locate_SS(sheng_,shi_)
elifcmd=="添加":
insert_SS(sheng_,shi_)
elifcmd=="刪除":
delete_SS(sheng_,shi_)
else:
print("輸入操作有誤,請重新輸入。")
else:
print("輸入操作有誤,請重新輸入。")
print()
if__name__=="__main__":
list_action()
『拾』 Python中最常用的操作列表的幾種方法歸納
這里介紹幾個常用的列表操作:
1、添加元素
添加元素使用列表的內置方法append
number = [1, 2, 3, 4]
number.append(5) # number = [1, 2, 3, 4, 5]
number.append([6,7]) # number = [1, 2, 3, 4, 5, [6, 7]]
number.append({'a':'b'}) # number = [1, 2, 3, 4, [6, 7], {'a', :'b'}
可以看到強大的python列表可以嵌套任意類型
2、列表相加
要想連接兩個列表,可以使用+號連接
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b # c = [1, 2, 3, 4, 5, 6]
也可以使用列表內置方法extend連接兩個列表
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b) # a = [1, 2, 3, 4, 5, 6]
用+號會創建一個新通對象,使用extend則在原來的對象上面修改
3、列表去重復
列表本身沒有去除重復的功能,但是可以藉助python的另外一個類型set(help(set)查看)
a = [1, 2, 3, 3,2, 1]
b = list(set(a)) # b = [1, 2, 3]
也可以藉助字典類型的內置方法
a = [1, 2, 2, 3, 1, 3]
b = {}.fromkeys(a).keys() # b = [1, 2, 3]