当我有一个字符串输入时,下面的方法可以正常工作,但是当输入是int,plz advice的列表时,它会抛出一个错误" TypeError: can only concatenate list (not "int") to list"
:
def permutation(string):
result=[]
if len(string)== 0:
return [[]]
if len(string)==1:
return [string]
perms= permutation(string[1:])
print("perms are", perms)
char= string[0]
for i in range(len(string)+1):
for perm in perms:
result.append(perm[i:]+char+perm[:i])
return result
print(permutation([1,2,3])
为什么这个代码可以正常工作?你知道吗
def permute(nums):
return [[n] + p
for i, n in enumerate(nums)
for p in permute(nums[:i] + nums[i+1:])] or [[]]
这条线:
当
char
是int时不起作用,因为+
可以附加列表,但不能附加int和列表。Python没有单独的字符类型,因此在string情况下,char只是一个元素字符串,因此字符串连接可以与+
一起使用。你知道吗在int情况下,可以执行以下操作:
它将
char
包装在一个列表中,现在可以连接起来。你知道吗相关问题 更多 >
编程相关推荐