【问题标题】:How to change element index of array? [duplicate]如何更改数组的元素索引? [复制]
【发布时间】:2019-08-22 14:43:09
【问题描述】:

我有一个变量字符串,例子

a = 'swift'

如果我将所有字符向左移动 1 次,它变成 a = 'wifts',如果我向右移动 2 次,它变成 a = 'tswif'

如何做到这一点?我试过这个功能:

a = 'swift'
for x in range(len(a)-1):
    a[x+1]

结果是'wift'

如果我向左移动 1 次,我希望输出变成 a = 'wifts',如果我向右移动 2 次,它会变成 a = 'tswif'

【问题讨论】:

  • 您当然没有尝试粘贴在这里的“功能”,因为这只会在什么都不做之前给出错误。请在此处粘贴您的真实代码。
  • @ThierryLathuille 这是我的真实代码,就像那样
  • @Nico 第一个问题是a不是字符串,解释器不知道swift是什么,应该是"swift"。其次是你没有重新分配任何东西。除此之外,您离答案并不远。
  • a = swift 会导致 NameError,除非您之前定义了 swift 变量。另外,a[x+1] 什么都不做,所以你不可能得到结果。所以,请编辑您的问题。

标签: python python-3.x


【解决方案1】:

扩展了here的答案:

def shifting(string, number):
    return string[-number:] + string[:-number]

负数是左移,正数是右移

【讨论】:

  • 你救了我的命,谢谢!
【解决方案2】:

你不需要for循环,你可以简单地重新创建连接左右部分的字符串:

a = 'swift'
shift_amount = 2
a_shifted_left  = a[shift_amount:] + a[:shift_amount]
a_shifted_right = a[-shift_amount:] + a[:-shift_amount] 

【讨论】:

  • 谢谢,我很感激
猜你喜欢
  • 2019-05-27
  • 2012-11-24
  • 2023-01-07
  • 1970-01-01
  • 2016-08-20
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多