在Python中创建新的空列表的最佳方法是什么?
l = []
要么
l = list()
我之所以这样问是因为两个原因:
技术原因,关于哪个更快。(创建一个类会导致开销吗?)
代码可读性-这是标准约定。
您可以通过以下方法测试哪段代码更快:
% python -mtimeit "l=[]"
10000000 loops, best of 3: 0.0711 usec per loop
% python -mtimeit "l=list()"
1000000 loops, best of 3: 0.297 usec per loop
但是,实际上,这种初始化很可能只是程序的一小部分,因此担心此初始化可能会出错。
可读性非常主观。我更喜欢[]
,但是像AlexMartelli这样的一些非常博学的人更喜欢,list()
因为它很明显。
我是喜欢单词而不是标点符号的人之一-例如,这就是我选择Python而不是Perl的原因之一。毕竟,“没有括号的情况下生活会更好”(一个古老的Python座右铭,穿着一件带有微笑少年的卡通漫画的T恤;-)毕竟(最初是指括号与缩进进行分组的,但是,嘿,大括号就是大括号!-)。
通常,“支付”几纳秒的时间(目的是使用清晰易读的短词而不是花括号,方括号和“ notnots”)(这主要是查找内置命名空间的成本,您每次都要付出的代价)使用内置的类型或函数,您可以通过取消循环进行一些查找来对其进行适度的优化)。
所以,我一般喜欢谁写的一个dict()为{},list(L)代替L[:]以及list()对[],tuple()对(),等等-只是一般的风格偏好发音的代码。当我在使用不同风格的现有代码库上工作时,或者当我在新项目中的队友具有强烈的偏好时,我当然可以接受(尽管对于队友来说,这不是不做些宣扬的尝试) ;-)。
问题内容: 如何在不手动输入的情况下创建许多空列表 是否存在for循环,使我的空列表数量为n? 问题答案: 列表理解在这里最简单: 注意不要掉进陷阱:
问题内容: 我需要增量填充列表或列表元组。看起来像这样: 为了使它不那么冗长,更优雅,我想我会预先分配一个空列表 预分配部分对我来说并不明显。当我这样做时,我会收到对同一列表的引用列表,因此以下内容的输出 是: 我可以使用循环(),但我想知道是否存在“无环”解决方案。 是获得我想要的东西的唯一方法 问题答案: 这将创建x个不同的列表,每个列表都有一个列表副本(该列表中的每个项目都是通过引用提供的,
我想创建一个可以容纳10个元素的空列表(或者任何最好的方式)。 然后,我要在该列表中分配值,例如,该列表应该显示0到9: 但当我运行此代码时,它会生成一个错误,或者在另一种情况下,它只显示(空)。 有人能解释为什么吗?
如何创建一个可以容纳10个元素的空列表? 之后,我想在该列表中分配值。例如: 但是,这会导致<code>索引器:列表分配索引超出范围。为什么? 在Python中,列表没有设置的容量,但不可能分配给尚未存在的元素。这里的答案显示了创建一个包含10个“伪”元素的列表的代码,以便稍后替换。然而,大多数遇到这个问题的初学者实际上只是想通过向列表中添加元素来构建列表。这应该使用方法,尽管通常会有特定于问题的
问题内容: 现在我用 但这有点棘手。是否有“标准”方法在Node.js中创建空文件? 问题答案: 如果要强制文件为空,则要改用标志: 如果文件存在,它将截断文件,如果文件不存在,则将创建文件。 如果不需要返回的文件描述符,则将其包装在调用中。
问题内容: 我想创建一个可以容纳10个元素的空列表(或最好的方法)。 之后,我想在该列表中分配值,例如,应该显示0到9: 但是,当我运行此代码时,它会产生错误,或者在其他情况下,它只会显示(空)。 有人可以解释为什么吗? 问题答案: 你不能分配给类似的列表,除非该列表已至少已使用元素初始化。你需要使用append将元素添加到列表的末尾。。 (如果使用字典,则可以使用分配符号)。 创建一个空列表: