因此,我尝试将列表和字符串变量发送到我的多处理方法,但字符串被拆分为列表
这是我的程序:
from multiprocessing import Pool
from itertools import product
combs = "1a 1A 2a 2A 3@ 3$".split()
def mword(list, base):
tag = base[0:2] + comb +base[4:7] # Error at this line
return tag
if __name__ == '__main__':
print("Enter Sample word")
base = input()
p = Pool()
result = p.starmap(mword, product(combs, str(base)))
p.close()
p.join()
> INPUT : QWERTYU
> Expected Output :
QW1aTYU #keep changing 3rd and 4th Character
QW1ATYU
> OUTPUT :
Q1A
W1A .. so on
我也尝试过:
''。join(base)
答案 0 :(得分:1)
产品需要2个列表。您正在向它传递一个梳子列表和一个字符串,该字符串是字符列表。因此,结果是字符串的每个字符和每个梳子。
要使此按预期方式通过的产品成为一个列表,其中字符串是它唯一不知道将字符串切成单个字符的唯一项。
result = p.starmap(mword, product(combs, [str(base)]))