如何清空一个数组,使其不含任何元素?
我想这样做是为了存储新值(一组新的100个浮点数),并找到最小值。
目前我的程序在读取集合的最小值之前可能会读取旧值,因为它会将自己附加到仍然包含旧值的先前集合中。顺便说一下,我使用的是 .append 方法。
请注意list
和array
是不同的类别。你可以这样做:
del mylist[:]
这实际上会修改您现有的列表。David的答案将创建一个新列表并将其分配给相同的变量。哪种方式取决于情况(例如,是否有其他变量引用了同一列表?)。
尝试:
a = [1,2]
b = a
a = []
并且
a = [1,2]
b = a
del a[:]
每次打印出a
和b
,以观察它们之间的差异。
很简单:
array = []
这将会把array
设置成一个空列表。顺便说一句,在Python中它们被称为列表而不是数组。
如果这不能解决你的问题,编辑你的问题并包含能够演示你问题的代码样本。
array =("")
,所以非常相似且易于记忆!+1 - Deana = [1,2,3]
b = a
在这之后我们有两种情况。确实,数组存在,并且当涉及到像 del
和 append
这样的操作时,它们与列表并没有区别:
>>> from array import array
>>> foo = array('i', range(5))
>>> foo
array('i', [0, 1, 2, 3, 4])
>>> del foo[:]
>>> foo
array('i')
>>> foo.append(42)
>>> foo
array('i', [42])
>>>
arr[i] = expression
或 arr.append(expression)
以及 lvalue = arr[i]
进行操作时会花费额外的时间将 C 类型和 Python 类型进行转换,但可以节省存储空间。array
类型和Python列表之间的区别。给你点赞。 - Kevin Andersonfoo = []
,我们将失去其引用,因为我们正在为 "foo" 定义一个新列表。因此,在这种情况下,使用 del foo[:]
是一种向上的方式,因为我们正在修改原始的 "foo" 列表。谢谢!=D - Eduardo Luciotemp = []
for x in somewhere:
temp.append(x)
answer = min(temp)
你可以这样做:
answer = min(somewhere)
例子:
answer = min(float(line) for line in open('floats.txt'))
Python列表clear()方法
clear()方法从列表中删除所有元素。
fruits = ['apple', 'banana', 'cherry', 'orange']
fruits.clear()
print(fruits)
# outputs: []
del
可以解决问题;请参考我的回答。 - John Machindel
不能用,只是列表和数组是不同的。 - Matthew Flaschen