繁体   English   中英

如何检查列表中每n个连续元素的格式

[英]How can I check the format of every n consecutive elements in a list

例如说我有一个20个元素的列表,我想检查每4个连续的元素是否遵循一个模式。 考虑以下:

list = ["start1", "1/2". "3/4", "end1"]

我要确保从list[0]开始的每个第4个元素都包含“开始”,并且从list[1]list[2]开始的每个第4个元素都包含一个“ /”。 如果不是,我想输入一个占位符" " ,例如:

我想要list2:

list2 = ["start1", "1/2", "end1"]

成为:

list3 = ["start1", "1/2", " ", "end1"]

由于您没有发布任何尝试,因此我不会为您提供任何完整的解决方案,但有一条提示可能对您有用:

for i in range(0,len(list),3):
    print(list[i])

此代码将遍历列表中的每个第四个元素。 也许从这里您可以考虑如何进行所需的检查以及如何执行所需的输入。 (请注意,如果在迭代列表时增加列表的长度,则可能还需要操纵迭代变量)。

当然,还有许多其他方式可以完成此任务。

看来您正在尝试在列表中移动项目。

这个答案应该对你有帮助

在列表中移动项目?

所以看来您必须使用

insert() and pop()

提供您所需要的。

对于算法本身,取模将很有用,因为我们知道:

if index % 4 == 0 AND contains "start"
  if i + 1 AND i + 2 contains "/"

干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM