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

在for循环中列出append()

司空均
2023-03-14
问题内容

在Python中,尝试对具有循环的列表执行最基本的追加功能:不知道我在这里缺少什么:

a=[]
for i in range(5):    
    a=a.append(i)
a

返回: 'NoneType' object has no attribute 'append'


问题答案:

list.append函数不返回任何值(而是None),它只是将值添加到用于调用该方法的列表中。

在第一个循环中,您将分配None(由于不返回append)给a,然后在第二个循环中,它将尝试调用a.append,因为a isNone它将引发您看到的Exception

您只需要将其更改为:

a=[]
for i in range(5):    
    a.append(i)
print(a)
# [0, 1, 2, 3, 4]

list.append这就是所谓的 变异或破坏性 方法,即它将破坏或变异先前的对象成为一个新的(或新的状态)。

如果您想基于一个列表创建一个新列表而不破坏或更改它,则可以执行以下操作:

a=['a', 'b', 'c']
result = a + ['d']

print result
# ['a', 'b', 'c', 'd']

print a
# ['a', 'b', 'c']

仅作为必然结果,您可以append通过执行以下操作来模仿该方法:

a=['a', 'b', 'c']
a = a + ['d']

print a
# ['a', 'b', 'c', 'd']


 类似资料:
  • 我有一个两个项目的列表,每个项目是一个文本字符串。我想围绕这两个项目循环,如果一个单词不在一组单词中,则基本上删除它。但是,下面的代码将所有单词放在一起,而不是创建两个单独的项。我希望我的更新列表包含两个项目,每个原始项目对应一个im更新:

  • 问题内容: 我试图在for循环内发出几个服务器请求。我发现了[\这个问题,\并实施了建议的解决方案。但是,它似乎不起作用。 如果我删除了for循环并将所有xmlhttp [i]更改为xmlhttp,那么对于一个元素来说一切都很好,但是我无法发出多个请求。在此先感谢您的任何建议。 问题答案: 尝试下面的代码段 响应

  • 关于如何使用for和while循环将值列表到空列表,我有两种方法。 例1。创建一个函数,该函数接受用户的输入,并在列表中列出十进制正值,直到用户插入负值。然后清单结束,最后一个值应该是这个负值。输出应该是什么样子的: 在列表中添加数字:1.5在列表中添加数字:5.2在列表中添加数字:6在列表中添加数字:-2列表:[1.5,5.2,6.0,-2.0] 我的选拔赛没成功 示例2关于将for循环和ran

  • 我正在编写一个计算e^x值的方法。我在python中实现它的方式如下。 这将很好地返回e^x的值。但是,当我尝试在c#中实现相同的方法时,它没有输出与python中相同的值。以下是c#中的实现。 起初,这段代码的输出是一个无穷大符号。为了解决这个问题,我只是减少了循环运行的次数。在c#中,循环只运行10次,代码的输出非常接近于python中循环运行100次的输出。我的问题是,在不同的编程语言中,两

  • 问题:我能否使用Java流API(即一行)实现方法。需要变量来定义字符串的长度;我尝试为每个循环,但它不工作。我需要一个循环的范围。 我的尝试:

  • 我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码: