我想在指定的索引周围交换列表或字符串的两个部分,例如:
([1, 2, 3, 4, 5], 2)
Run Code Online (Sandbox Code Playgroud)
应该回来
[4, 5, 3, 1, 2]
Run Code Online (Sandbox Code Playgroud)
我只应该有一行代码,它适用于字符串,但我得到
只能将列表(不是"int")连接到列表
当我尝试使用列表时.
def swap(listOrString, index):
return (listOrString[index + 1:] + listOrString[index] + listOrString[:index])
Run Code Online (Sandbox Code Playgroud)
这是因为您采用了两个切片和一个索引操作并尝试连接.切片返回子列表,索引返回单个元素.
使中间组件也成为切片,例如listOrString[index:index+1],(即使它只是一个元素切片),因此它保留了切片的类型(成为该类型的一个元素序列:
return listOrString[index + 1:] + listOrString[index:index+1] + listOrString[:index]
Run Code Online (Sandbox Code Playgroud)