Python 3.x 列表/数组数据操作和优化

Python 3.x 列表/数组数据操作和优化,python-3.x,loops,optimization,data-manipulation,Python 3.x,Loops,Optimization,Data Manipulation,请参考以下算法: 我有一个名为bld的数组,它将步骤作为列,将楼层作为行 class testing: def abc(self, steps: int): floors = int(input('enter the number of floors: ')) bld = [] for i in range(steps): bld.append([])

请参考以下算法: 我有一个名为
bld
的数组,它将
步骤
作为列,将
楼层
作为行

class testing:
    
    def abc(self, steps: int):
        
        floors = int(input('enter the number of floors: '))
        
        bld = []
        
        for i in range(steps):
            bld.append([])
            
            for j in range(floors):
                bld[i].append(j)
        print (bld)        
        
        return bld
    
def main():
    sf = testing()
    bld_array = sf.abc(20)
        
if __name__ == '__main__':
    main()
输出为:
[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2]

我想在步骤10中添加一个条件以获得预期的输出:
[0,1,2]、[0,1,2]、[0,1,2]、[0,1,2]、[0,1,2]、[0,1,2]、[0,1,2]、[0,1,2]、**[0,0,0,0]**、[0,1,2]、[0,1,2]

非常感谢任何关于如何实现这一点的线索。

请尝试:

bids=[[i代表范围内的i(楼层)]如果j!=10,则[0代表范围内的i(楼层)]代表范围内的j(步骤)]
顺便说一句,你的类名应该是CamelCase

编辑: 为什么会这样

首先,CamelCase指的是为什么我应该,它指的是除单词开头以外的所有小写字母,大写字母缩写(即HTTPServer–HTTP代表超文本传输协议),所有单词都粘在一起。有时这被称为PascalCase,camelCase将第一个单词排除在大写之外(类似于javascript中的函数)。我不知道谁是对的,但在python中它被称为deCamelcase

第二,原因。CamelCase(或CapCase)是命名类时使用的正式案例。有关其他命名约定,请参见。所以,你可能会问,好吧,这是惯例,但我为什么要遵循它?代码运行的是相同的,对吗

嗯,是的,直到你需要深入研究更复杂的问题,你给事情起的名字真的很重要,因为它们借用了你以前做过的事情的含义、方式和关联。例如,一旦习惯了使用约定进行编码,阅读文档就相当于阅读教程,因为一旦看到一个名称,您就已经有了一个巨大的提示,说明相关对象将发生什么,如何使用它,等等

而且,这只是为了你的个人利益。想想其他人在读你的代码,而不是相反。如果他们能把所有的精力都放在代码的意义上,而不是形式上,那对他们来说就更好了(就像你能读很多错误的句子,但是读一个正确的句子要容易得多)。例如,当您展示代码时,这大大提高了在论坛上获得答案的机会


最后,我认为惯例是你思维方式的典范。如果你遵循它们,你会倾向于思考用某种语言编写代码时应该怎么做,从而生成惯用代码(=好代码)。

它们是列表列表,而不是数组。@DYZ谢谢!I edited.FYR,您的整个函数可以写成
bids=[list(range(floors))for I in range(steps)]
。不需要所有这些循环和附加。您不需要在python中注释类型:而且您不仅不需要这样做,而且不应该这样做!Python有duck类型哲学(我让你用谷歌搜索),它反对类型注释@BlackBeans注释是Python的一个特性,Python维护人员已经投入了大量的工作。Python绝对不反对类型注释!类名只是一个约定,它不需要是CamelCase。约定很多。每当其他人阅读您的代码时,如果您遵循约定,他们可以更深入地理解代码。如果是驼峰案例,我们知道它是一个类。如果是蛇案,我们知道它是一个物体,等等。。如果您是唯一一个阅读过自己代码的人,这并不重要,但在相反的情况下,这一点非常重要,您自己的问题证明前一种情况非常罕见。此外,遵循python约定可以确保您以惯用的方式进行编码(这对于所有编程语言都是如此)。同意。只是指出代码的正确性不需要这样。也许你应该在你的答案中加上为什么是这样。