当前位置: 首页 > 知识库问答 >
问题:

有没有一种方法可以将列表理解重写为for循环?[关闭]

步炯
2023-03-14
list1=[string1[i:i+int1] for i in range(0, len(string1), int1)]
for i in range(0, len(string1), int1):
    #something here

共有1个答案

潘衡
2023-03-14

您的意思是从一个列表理解中提取一个乏味的旧的常规for loop

list1=[string1[i:i+int1] for i in range(0, len(string1), int1)]

变成:

list1 = list()
for i in range(0, len(string1), int1):
    list1.append(string1[i:i+int1])

如果您希望在迭代数据时添加异常处理、日志记录或更复杂的函数或行为,这将非常有用。

list1 = list()
for i in range(0, len(string1), int1):
    log.info('in loop: i={}'.format(i))
    try:
        data = string1[i:i+int1]
    except:
        log.error('oh no!')
        # maybe do something complex here to get some data anyway?
        data = complex_function(i)
    log.debug('appending to list: data={}'.format(data))
    list1.append(data)
 类似资料:
  • 问题内容: 我的网页上有一个“瘦”列表:例如,一个包含100个项目的列表,每个项目的长度为一个单词。为了减少滚动,我想在页面的两列甚至四列中显示此列表。我该如何使用CSS? 我希望该解决方案具有灵活性,这样,如果列表增加到200个项目,则无需进行很多手动调整即可容纳新列表。 问题答案: ul { -moz-column-count: 4; -moz-column-gap: 20px; -webki

  • 问题内容: 我在做游戏,遇到一个问题…当我尝试保存时,JSON失败,并报告正在某处进行循环引用。我认为它实际上不是,我看不到它,因此是否有一种算法或其他任何方法可以告诉我确切的位置(在哪些对象和事物之间)?另外,是否有可以保存循环引用的JSON替代方案?我正在运行一个node.js服务器,我看到了,但是我无法使其正常工作(它不是作为模块组成的,我可以在我的代码中使用require())。 问题答案

  • 问题内容: 我有一个.csv文件,如下所示: 我必须从文件中删除重复的电子邮件(整行)(即,上面示例中包含的行之一)。如何仅在字段1(用逗号分隔)上使用?根据,没有列选项。 我尝试了一些东西,但是没有用。 问题答案: 为了独特 所以逗号是定界符 对于关键字段1 测试结果:

  • 问题内容: 让我们说我有这样的查询: 通过在各处手动更改字符串,我使用不同的表多次运行此查询。我尝试声明以下内容: 但这似乎不起作用,因为它引发了一个错误,提示我必须先声明为表变量,然后才能使用它。我如何对表名进行模板化,如果可以的话,Intellisense仍然可以使用吗? 问题答案: 您可以将其包装在EXEC语句中,如下所示: 但是不,在这种情况下,智能感知将无法正常工作。 如果您事先知道输出

  • 你有没有办法把它自动化?还有更多的方法是这样构造的。我在这里什么也不会有。这样做有意义吗,就像我想象的那样?

  • 问题内容: 有很多示例可以使用jQuery在javascript/dom中实现某些功能。但是,使用jQuery并非总是一种选择,它会使理解jQuery编写的javascript解决方案的示例变得困难。 有没有一种简单的方法可以将jQuery代码转换为常规javascript?我猜不必访问或理解jQuery源代码。 问题答案: 最简单的方法是仅学习如何使用普通的DOM api进行DOM遍历和操作(您