当前位置: 首页 > 面试题库 >

遍历列表切片

须捷
2023-03-14
问题内容

我想要一种算法来遍历列表切片。切片大小在功能之外设置,可以不同。

在我看来,这就像:

for list_of_x_items in fatherList:
    foo(list_of_x_items)

有没有一种list_of_x_items使用python 2.5正确定义的方法或其他方法?

edit1:澄清 “分区”和“滑动窗口”这两个术语听起来都适用于我的任务,但是我不是专家。因此,我将更深入地解释该问题并添加到问题中:

FatherList是我从文件中获取的一个多级numpy.array。函数必须找到序列的平均值(用户提供序列的长度)。为了求平均值,我正在使用mean()函数。现在进行问题扩展:

edit2: 如何修改您提供的用于存储额外项目的功能,并在将下一个父亲列表提供给该功能时使用它们?

例如,如果列表长度为10,块的大小为3,则存储列表的第十个成员并将其附加到下一个列表的开头。

有关:

  • 迭代访问列表的最“ pythonic”方法是什么?

问题答案:

回答问题的最后一部分:

问题更新:如何修改您提供的存储额外项目的功能,并在将下一个父亲列表提供给该功能时使用它们?

如果需要存储状态,则可以为此使用一个对象。

class Chunker(object):
    """Split `iterable` on evenly sized chunks.

    Leftovers are remembered and yielded at the next call.
    """
    def __init__(self, chunksize):
        assert chunksize > 0
        self.chunksize = chunksize        
        self.chunk = []

    def __call__(self, iterable):
        """Yield items from `iterable` `self.chunksize` at the time."""
        assert len(self.chunk) < self.chunksize
        for item in iterable:
            self.chunk.append(item)
            if len(self.chunk) == self.chunksize:
                # yield collected full chunk
                yield self.chunk
                self.chunk = []

例:

chunker = Chunker(3)
for s in "abcd", "efgh":
    for chunk in chunker(s):
        print ''.join(chunk)

if chunker.chunk: # is there anything left?
    print ''.join(chunker.chunk)

输出:

abc
def
gh


 类似资料:
  • 输入是一个列表列表。请看下面。文件名是一个列表,包含的名称与列表中的列表数量相同(,,) 每个名称都附加到路径中:-- 程序在遍历列表时遍历包含路径的列表,并打印路径及其文件名。我希望输出是--。然而,我得到了下面的输出。请查看输入后的输出 输入 输出 我希望输出是-- 然而,我得到的结果如下: 我无法理解为什么在遍历列表时不能使用文件名遍历路径列表。我希望这有助于澄清问题。有人能帮忙吗? 我已经

  • 问题内容: 我有两个列表和数字,我想使用相同的指令遍历它们。像这样: 但这感觉多余。我知道我会写,但是要付出一定的时间。 有没有办法做到这一点而又不浪费时间呢? 问题答案: 这可以通过以下方式完成 : 将打印: 根据文档,请执行以下操作: 创建一个迭代器,该迭代器从第一个可迭代对象返回元素,直到耗尽为止,然后继续进行下一个可迭代对象,直到所有可迭代对象都耗尽为止。 如果列表中有列表, 则可用: 产

  • 本文向大家介绍common-lisp 遍历列表,包括了common-lisp 遍历列表的使用技巧和注意事项,需要的朋友参考一下 示例 可以使用~{和~}指令遍历列表。 ~^ 如果没有更多元素了,可以用来转义。 可以使用数字参数~{来限制可以执行的迭代次数: ~@{ 将遍历其余参数,而不是列表: 子列表可以使用~:{以下命令进行迭代:            

  • 问题内容: 我有一个列表-myList-每个元素都是一个字典。我希望遍历此列表,但是每次只在每本词典中使用一个属性-“ age”来表示有趣。我也对保持迭代次数感兴趣。 我做: 但是我想知道是否还有更多的pythonic。有小费吗? 问题答案: 您可以使用生成器仅获取年龄。 而且,是的,不要使用分号。

  • 问题内容: 我有以下对象和地图: 我想将地图转换成另一个地图。结果图的键是输入图的键。结果映射的值是My对象的属性“名称”,按优先级排序。 该 排序 和提取的名字是没有问题的,但我不能把它放到结果地图。我使用旧的Java 7方法进行操作,但是可以使用流API会很好。 有人知道吗?我试过了,但是被卡住了: 问题答案: 本质上,您将流式传输每个条目集并将其收集到新映射中。要计算新地图中的值,请从旧地图

  • 问题内容: 我从Web服务返回一个List <>作为JSON对象的列表。我正在尝试使用一个for循环来遍历列表并从属性中获取值。这是返回的JSON的示例: 因此,我尝试使用类似以下的方法提取内容: 应该怎么做? 问题答案: 今天遇到了同样的问题,您的话题对我有所帮助,所以这里找到解决方法;