【问题标题】:Python substring square parenthesis don't accept variable [duplicate]Python子字符串方括号不接受变量[重复]
【发布时间】:2019-05-01 16:38:13
【问题描述】:

我正在尝试运行一个脚本,该脚本需要一长串数字并一次检查 4 个,所以我使用 for in range(0, len(stringOfDigits), 4): 使用循环变量检查数字字符串:

for i in range(0, len(stringOfDigits), 4):
    currFour = stringOfDigits[i:4]
    print("Current 4 being checked are")
    print(currFour)

但如果我尝试运行它,它只会粘贴空行并像完成一样退出脚本。

有什么问题?字符串在子字符串化时是否接受变量?如果没有,我该怎么做才能达到我想要的结果?

【问题讨论】:

  • currFour = digits[i:i+4].
  • @ArkistarvhKltzuonstev 有什么特别的原因吗?我的意思是,它在技术上不一样吗?为什么需要对两个范围限制都使用该变量?
  • 不,它们不一样。如果你想检查ith 位置到接下来的四个位置,你需要digits[i:i+4],但是如果你需要检查ith 位置到只有4th 项digits,那么你需要@ 987654329@.

标签: python python-3.x string loops


【解决方案1】:

你需要在内部循环:

currFour = stringOfDigits[i:i+4]

代替:

currFour = stringOfDigits[i:4]

使用currFour = stringOfDigits[i:4],第一个循环有效,但连续循环失败。这是因为:在第二次迭代中,当i 变为 4 时,stringOfDigits[i:4] -> stringOfDigits[4:4](理想情况下需要[4:8] 的一部分)返回空字符串等剩余循环。

【讨论】:

  • 有什么特别的原因吗?我的意思是,它在技术上不一样吗?为什么需要对两个范围限制都使用变量?
  • '因为你需要对i的当前位置进行切片,但不是绝对的。
猜你喜欢
  • 2015-07-02
  • 2018-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
  • 2018-06-21
相关资源
最近更新 更多