python傳遞列表
⑴ python定義一個函數傳入一個列表 使其排序
這幾個print都是調試作用而已
這個程序一句就可以了
printsorted([3,1,2,5,4])
⑵ 求助 python怎麼將可變參數傳到列表中
可以在perfom裡面把傳遞進來的參數member 循環到一個列表裡面,然後再傳遞給another_perform
def perform (self, *member):
parmas={}
for para in memeber:
params.add(para)
another_perform("commad", list= parmas )
⑶ python 怎麼傳入列表參數
那就在調用參數的時候,給它賦值一個列表
def test(ls): print "this is a list"a = [1,2,3]#調用test(a)
⑷ 關於python列表的屬性傳遞
Python分為可變類型和不可變類型,一般tuple,string,number等類型不可變,其他如list等是可變類型
如果你用=來賦值可變類型的話就會出現你這種情況,這種情況叫做「淺拷貝」。要實現變其中一個其他不變就不能簡單地用=來賦值,要用到一種叫做「深拷貝」的東西。
深拷貝有幾種方法:
1.
deep
import
l
=
[]
x
=
.deep(l)
x.append(6)
print
l,
x
2.
slice
l
=
[]
x
=
l[:]
x.append(6)
print
l,
x
⑸ Python如何用列表向類傳參急!在線等!
無論是類的
構造函數
還是類的方法函數,都與普通函數一樣可以使用列表傳入多個
實參
。
class
MyClass:
....def
__init
__(self:a,b,c):
........pass
對於MyClass,我們一般使用下列方式
實例化
:
x=MyClass(1,2,3)
如果我們實例化使用的參數在列表l中,可以這樣做:
l=[1,2,3]
x=MyClass(*l)
⑹ 在python里,想要把列表傳進函數,在函數里使列表發生改變。怎麼實現
>>>l=range(5)
>>>deffunc(m):
...m[3]=999
...
>>>printl
[0,1,2,3,4]
>>>func(l)
>>>printl
[0,1,2,999,4]
>>>
直接修改列表就可以了
⑺ Python中將10以內的數添加到列表裡
在python中可以使用range()函數來產生一系列數字。
forwinrange(1,11):print(w),輸出:1,2,3,4,5,6,7,8,9。
如果將range()作為參數傳遞給list()函數,那麼就會將數字以列表的形式輸出,num=list(range(1,11)),print(num),輸出:[1,2,3,4,5,6,7,8,9,10]。
⑻ python練習傳遞列表時提示錯誤
很多地方拼錯了···
defprint_models(unprinted_designs,completed_models):
whileunprinted_designs:
current_design=unprinted_designs.pop()
#current_design
print('printingmodel:'+current_design)
#current_design
completed_models.append(current_design)
defshow_completed_models(completes_models):
print('')
forcompleted_mdelincompleted_models:
#completed_mdel
print(completed_mdel)
#unprinted_designs
unprinted_designs=['iphonecase','robotpendant','dodecahedron']
completed_models=[]
print_models(unprinted_designs,completed_models)
show_completed_models(completed_models)
⑼ python函數中傳入list為啥會這樣,這破問題卡了一整天
代碼及運行結果如圖:
從你的問題來看是一個新手,建議直接放棄2.x版本學習3.x版本。對現在的你來說用到的2與3版本之間的差異可能也就是print(如圖中所示與你代碼的差異),影響很小。
代碼解釋:
你的代碼中用A,B = inputlist,inputlist進行賦值,實際A與B都是指向了同一個內存對象,所以對其中任意一個做出修改,即修改了內存中的這個對象,造成A與B同時修改。解決方法,引入模塊中的deep()函數,保證A與B指向長的一樣但在內存中是兩個對象,這樣對其中一個修改時完全不影響到另一個。
⑽ 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