我正在使用python中的代码.特别是代码是关于scythe密码编码.我用一些循环做了它但我不知道是否可以在一个循环中减少它.你能帮助我吗?这是我的代码:
for b in range(1, len(word), 6):
word_list2.append(word[b])
print(word_list2)
for c in range(2, len(word), 6):
word_list3.append(word[c])
print(word_list3)
for d in range(3, len(word), 6):
word_list4.append(word[d])
print(word_list4)
for e in range(4, len(word), 6):
word_list5.append(word[e])
print(word_list5)
for f in range(5, len(word), 6):
word_list6.append(word[f])
print(word_list6)
Run Code Online (Sandbox Code Playgroud)
这段代码完全符合我的要求,但我想知道是否可以在一个for循环中减少所有内容.
这就是解决方案,我将收到的答案与我的工作联系起来:
word_list = []
for i in range(0,5):
word_list1 = word[i::6]
word_lists = [word[start::6] for start in range(6)]
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 10
您不需要使用切片可以执行的循环:
word_list1 = word[0::6]
word_list2 = word[1::6]
word_list3 = word[2::6]
word_list4 = word[3::6]
word_list5 = word[4::6]
word_list6 = word[5::6]
Run Code Online (Sandbox Code Playgroud)
现在每个都是一个新的列表对象,每个第6个元素来自word增加的第一个索引.
但是,你不会使用单独的变量; 您可以轻松地将其列为具有列表理解的列表:
word_lists = [word[start::6] for start in range(6)]
Run Code Online (Sandbox Code Playgroud)
现在你也有6个单,每一个选择每6个字,通过对5开始在索引0可以解决与每个列表word_lists[0],word_lists[1]等等.