當前位置:首頁 » 編程語言 » pythonlist參數傳遞

pythonlist參數傳遞

發布時間: 2024-11-02 22:18:57

python語句list執行結果

Python語句list(range(1,10,3))執行結果為[1,4,7]。

語法是:range(start,stop[,step])

參數說明:

(1)start:計數從start開始,默認是從0開始。例如range(5)等價於range(0,5);

(2)stop:計數到stop結束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]沒有5;

(3)step:步長,默認為1。例如:range(0,5)等價於range(0,5,1)。

因此,range(1,10,3)的意思是1到10之間的tuple,間隔為3,所以結果是(1,4,7)。

列表(List)是最常用的Python數據類型,它可以作為一個方括弧內的逗號分隔值出現。

所以,list(range(1,10,3))執行結果為[1,4,7]。



(1)pythonlist參數傳遞擴展閱讀

Python列表函數&方法

Python包含以下函數:

1、亂運cmp(list1, list2):比較兩個列表的元素;

2、len(list):列表元素個數;

3、max(list):返回列表元素最大值;

4、min(list):返回列表元素最小值;

5、list(seq):將元組轉換為列表。

Python包含以下方法:

1、list.append(obj):在列表末尾添加新的對象;

2、list.count(obj):統計某個元芹陪鬧素在列表中出現的次數;

3、list.extend(seq):在列表末尾一次性追加另嫌罩一個序列中的多個值(用新列表擴展原來的列表);

4、list.index(obj):從列表中找出某個值第一個匹配項的索引位置;

5、list.insert(index, obj):將對象插入列表;

6、list.pop([index=-1]):移除列表中的一個元素(默認最後一個元素),並且返回該元素的值;

7、list.remove(obj):移除列表中某個值的第一個匹配項;

8、list.reverse():反向列表中元素;

9、list.sort(cmp=None, key=None, reverse=False):對原列表進行排序。

② python中使用socket編程,如何能夠通過UDP傳遞一個列表類型的數據

Python中的 list 或者 dict 都可以轉成JSON字元串來發送,接收後再轉回來。


首先

importjson

然後,把 list 或 dict 轉成 JSON

json_string=json.mps(list_or_dict)

如果你用的是Python3,這里的 json_string 會是 str 類型(即Python2的unicode類型),可能需要編碼一下:

if type(json_string) == six.text_type:

json_string = json_string.encode('UTF-8')

用socket發送過去,例如

s.sendto(json_string,address)


對方用socket接收,例如

json_string,addr=s.recvfrom(2048)

把JSON轉成 list 或 dict

list_or_dict=json.loads(json_string)




下面是個完整的例子:


client.py

#!/usr/bin/envpython
#-*-coding:UTF-8-*-

importsocket
importjson
importsix

address=('127.0.0.1',31500)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
mylist=[1,2,3,4,5,6,7,8,9,10]
json_string=json.mps(mylist)
iftype(json_string)==six.text_type:
json_string=json_string.encode('UTF-8')
s.sendto(json_string,address)
s.close()


server.py

#!/usr/bin/envpython
#-*-coding:UTF-8-*-

importsocket
importjson

address=('127.0.0.1',31500)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(address)
json_string,addr=s.recvfrom(2048)
mylist=json.loads(json_string)
print(mylist)
s.close()


請先運行server.py,再運行client.py

③ python list[3::-1]是什麼意思

「python list[3::-1]」的意思是:從位置3反向截取list中的數組。

list參數分別是截取位置、截取方式。3代表從list第三個位置開始截取,-1代表反向截取。

在編程語言中,List是雙向串列連接,用於管理線性列中的對象集合。 list的功能是在集合中的任何位置添加或刪除元素都是快速的,但不支持隨機訪問

list是類庫提供的眾多容器(container)之一,除此之外還有vector、set、map、…等等。List被實現為模板(即泛型),並且可以處理任何類型的變數,包括用戶定義的數據類型。

(3)pythonlist參數傳遞擴展閱讀:

list是一個雙向循環鏈表,每個元素都知道前一個元素和下一個元素。

在STL中,list(如vector)是常用容器,與vector不同,list不支持對元素的任意訪問。 list中提供的成員函數類似於vector,但是list提供了對表的第一個元素push_front和pop_front的操作,這些操作在vector中不可用。

與vector不同,list迭代器不會失敗。 與vector不同,vector保留了備份空間,當超過容量限制時,將重新分配所有內存,從而導致迭代器失敗。 List沒有備份空間的概念,請求元素進行空間的進出,因此其迭代器不會失敗。

④ python 列表: 例:a = [1,2,3,4] 使用a[4]會報錯,使用a[4:],為什麼不出錯呢

a[0]=1
a[1]=2
a[2]=3

a[3]=4

a[4]不存在,自然報錯。

而a[4:],這是片段操作符,用於子list的提取。即從a[4](也就是第五個)右數到最後,這是不存在的,則返回NULL子列表,自然不報錯

⑤ python中,如何將list中的各個值快速賦值給變數

a, b, c, d = list1
這種方式只有當左邊的操作數個數和list1長度相同時,才可以這么做,不然不報錯.
我們假設我們有一個list對象List,它的長度足夠長,想把它從下標i開始的k個元素賦給k個元素,可以這么做:
v1, v2, v3, ..., vk = List[i : i + k] #默認i=0, k=len(List)
其實你的問題相當於:
a, b, c, d = list1[0 : 4]

⑥ Python中list的實現

原文鏈接
這篇文章介紹了Python中list是如何實現的。
在Python中list特別有用。讓我們來看下list的內部是如何實現的。
來看下面簡單的程序,在list中添加一些整數並將他們列印出來。

正如你所看到的,list是可以迭代的。

Python中list是用下邊的C語言的結構來表示的。 ob_item 是用來保存元素的指針數組,allocated是 ob_item 預先分配的內存總容量

讓我們來看下當初始化一個空list的時候發生了什麼 L = []

非常重要的是知道list申請內存空間的大小(後文用allocated代替)的大小和list實際存儲元素所佔空間的大小( ob_size )之間的關系, ob_size 的大小和 len(L) 是一樣的,而allocated的大小是在內存中已經申請空間大小。通常你會看到allocated的值要比 ob_size 的值要大。這是為了避免每次有新元素加入list時都要調用realloc進行內存分配。接下來我們會看到更多關於這些的內容。

我們在list中追加一個整數:L.append(1)。發生了什麼?調用了內部的C函數app1()

來讓我們看下 list_resize() , list_resize() 會申請多餘的空間以避免調用多次 list_resize() 函數,list增長的模型是:0, 4, 8, 16, 25, 35, 46, 58, 72, 88, …

開辟了四個內存空間來存放list中的元素,存放的第一個元素是1。你可以從下圖中看到L[0]指向了我們剛剛加進去的元素。虛線的框代表了申請了但是還沒有使用(存儲元素)的內存空間

現在我們在列表的第一個位置插入一個整數5:L.insert(1, 5),看看內部發生了什麼。調用了ins1()

當你彈出list的最後一個元素:L.pop()。調用listpop(), list_resize 在函數listpop()內部被調用,如果這時 ob_size (譯者註:彈出元素後)小於allocated(譯者註:已經申請的內存空間)的一半。這時申請的內存空間將會縮小。

Pop的時間復雜度是O(1)

Python list對象有一個方法可以移除一個指定的元素。調用listremove()。

切開list和刪除元素,調用了 list_ass_slice() (譯者註:在上文slice list between element's slot and element's slot + 1被調用),來看下 list_ass_slice() 是如何工作的。在這里,低位為1 高位為2(譯者註:傳入的參數),我們移除在1號內存空間存儲的數據5

Remove的時間復雜度為O(n)

文中list的sort部分沒有進行翻譯
核心部分

熱點內容
看巴士的解壓密碼 發布:2024-11-23 10:30:18 瀏覽:578
oracle的sql練習題 發布:2024-11-23 10:28:37 瀏覽:315
linux進程間同步 發布:2024-11-23 10:14:25 瀏覽:185
android朋友圈圖片 發布:2024-11-23 10:02:08 瀏覽:159
eclipsejar源碼亂碼 發布:2024-11-23 10:01:33 瀏覽:145
oracle導入資料庫數據 發布:2024-11-23 09:57:09 瀏覽:796
高訪問網址 發布:2024-11-23 09:53:02 瀏覽:520
android內置apk 發布:2024-11-23 09:46:18 瀏覽:320
郵箱伺服器搭建windows 發布:2024-11-23 09:44:46 瀏覽:560
安卓如何強制關閉 發布:2024-11-23 09:43:05 瀏覽:448