Python 将变长列表作为参数传递给线程化函数
我试图将列表作为参数传递给线程函数。这个列表的长度可能会有所不同,但我不知道怎么做。下面是我正在使用的代码。现在,我只希望能够将列表放入线程函数并在屏幕上打印出来Python 将变长列表作为参数传递给线程化函数,python,list,parameter-passing,python-multithreading,Python,List,Parameter Passing,Python Multithreading,我试图将列表作为参数传递给线程函数。这个列表的长度可能会有所不同,但我不知道怎么做。下面是我正在使用的代码。现在,我只希望能够将列表放入线程函数并在屏幕上打印出来 #!/usr/bin/python import threading import Queue as queue def generateRange(starting_chars=(*args)): print str(starting_chars) for i in range(32,126): q = qu
#!/usr/bin/python
import threading
import Queue as queue
def generateRange(starting_chars=(*args)):
print str(starting_chars)
for i in range(32,126):
q = queue.Queue()
theArgs = [i,32,32]
threads = [ threading.Thread(target=generateRange,args=theArgs) ]
# generateRange([i,32,32])
for th in threads:
th.daemon = True
th.start()
我得到了这个错误:
File "./test.py", line 6
def generateRange(starting_chars=(*args)):
^
SyntaxError: invalid syntax
我做错了什么?您可以将语法更改为此,否则将不定义
args
:
def generateRange(*starting_chars):
print str(starting_chars)
我不知道您为什么特别希望将参数命名为“starting_chars”,但是:
def generateRange(*starting_chars):
print str(starting_chars)
或
应该可以
def generateRange(*args):
print str(args)