45 votes

Effacer tout le tableau Python

Comment effacer un tableau entier en le laissant sans éléments ?

Je veux faire cela pour pouvoir y stocker de nouvelles valeurs (un nouvel ensemble de 100 flotteurs) et trouver le minimum.

À l'heure actuelle, mon programme lit le minimum des ensembles avant, je pense, car il s'ajoute à l'ensemble précédent qui s'y trouve toujours. J'utilise .append en passant.

33voto

David Z Points 49476

C'est simple:

 array = []

définira array comme une liste vide. (Au fait, on les appelle des listes en Python, pas des tableaux)

Si cela ne fonctionne pas pour vous, modifiez votre question pour inclure un exemple de code qui illustre votre problème.

7voto

John Machin Points 39706

Eh bien, oui, les tableaux existent, et non, ils ne sont pas différents des listes en ce qui concerne des éléments tels que del et 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])
>>>

Différences à noter : vous devez spécifier le type lors de la création du tableau, et vous économisez de l'espace de stockage au détriment du temps supplémentaire de conversion entre le type C et le type Python lorsque vous faites arr[i] = expression ou arr.append(expression) et lvalue = arr[i]

1voto

John Machin Points 39706

Maintenant, pour répondre à la question que vous auriez peut-être dû poser, comme "Je reçois 100 flottants quelque part; dois-je les mettre dans un tableau ou une liste avant de trouver le minimum?"

Réponse : Non, si somewhere est un itérable, au lieu de faire ceci :

 temp = []
for x in somewhere:
   temp.append(x)
answer = min(temp)

tu peux le faire:

 answer = min(somewhere)

Exemple:

 answer = min(float(line) for line in open('floats.txt'))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X