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