【发布时间】:2021-11-20 07:11:59
【问题描述】:
我有一个列表中存在的长度列表,例如:
a = [1, 3, 4]
此外,我的字符串的长度正好是 a 的数字之和,这里是 8,看起来像这样:
s = "01100110"
我在 a 的长度上循环,每次,我都希望在 a 中准确地显示下一个 n 位。 所以在这里,它将是三个运行,给我“0”、“110”和“0110”。
是否有一个非常聪明的想法可以做到这一点,例如通过切片? 我脑子里有一些奇怪而复杂的方法,但正在寻找更有效的方法。
我想出了一些解决方案:
counter_index = 0
counter_sum = 0
for i in range(len(a)):
res = s[counter_sum:counter_sum+a[counter_index]
counter_sum += a[counter_index]
counter_index += 1
print(res)
【问题讨论】:
-
你能分享你目前的代码吗?
-
我添加了一个我想出的:)
标签: python python-3.x slice