4 回答
TA贡献2080条经验 获得超4个赞
myString = '123456789'
s = myString[1:-1]
你很接近。它。1:-1
如果你正在寻找输出:91
s = myString[-1] + s = myString[0]
# 91
TA贡献1877条经验 获得超1个赞
myString = '123456789'
def mySlice(mstring, start, end):
if (start<0 or start>end):
new_str=mstring[start:len(mstring)]+mstring[0:end]
else:
old_str=mstring[start:end]
return old_str
return new_str
slice = mySlice(myString, -1, 1)
print(slice) #output is 91
TA贡献1820条经验 获得超10个赞
使用切片对第一个和最后一个字符进行切片,并在之后采用变量 a 和 b 来连接两个变量
myString = '123456789'
a = myString[-1]
b = myString[0]
print(a + b)
结果
91
TA贡献1848条经验 获得超2个赞
如果您希望将字符串表示为圆形数组,并且想要将字符串的某些部分切片出来,则需要先将其转换为其他内容,因为Python字符串是不可变的。Collections.deque将比列表更有效:
from collections import deque
foo = deque('123456789')
result = str(foo.pop() + foo.popleft() # result then is == '91' and
# str(''.join(foo)) == '2345678'
如果你只想在数组上循环寻找子字符串(即在旋转数组时保持位置稳定,如果这是你的意思),你可以在不改变数组的情况下做这样的事情:
foo = deque('123456789')
for x in range(len(foo)): #have to use range here (mutation during iteration)
print(str(''.join(foo[-1] + foo[0])))
foo.rotate(1)
这导致91 89 78 67 56 45 23 12
添加回答
举报