En python comment puis-je définir plusieurs valeurs d'une liste à zéro simultanément?
Sur le plan conceptuel, je veux faire:
arr[20:] = 0
où arr
est un list
.
Comment puis-je faire cela?
Yup. C'est une liste, désolé.
Ce serait bien si quelque soit la solution que vous utilisez normalement traite le cas où la taille d'origine de votre liste est plus courte que 20 éléments.
Bien gracieux de comportement je m'attends à ce serait de partir d'une liste de 20 ou moins intacte. Le
Ce serait bien si quelque soit la solution que vous utilisez normalement traite le cas où la taille d'origine de votre liste est plus courte que 20 éléments.
Bien gracieux de comportement je m'attends à ce serait de partir d'une liste de 20 ou moins intacte. Le
xrange
boucle for n'est que, je pense, car il n'y a pas i
valeurs à parcourir. Mais il n'a pas d'importance pour mon application depuis que je suis-il le piratage ensemble et je sais que j'ai toujours de 10 000 points de données
OriginalL'auteur Robert Martin | 2011-12-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire directement à l'aide de la tranche d'affectation.
Mais de façon naturelle, c'est juste pour itérer.
arr[20:] = [0 for i in range(20,len(arr))]
? Ne pourrait-il pas être dans cette réponse, aussi?Depuis l'OP sait que l'arr est toujours de 10 000 articles de long, et en supposant que c'est une opération qui devra être fait assez souvent, alors il peut y avoir certains avantages à précalculer
trailing_zeros = [0]*(10000-20)
, et puis il suffit de fairearr[20:] = trailing_zeros
en cas de besoin.Si "0" est une plaque pour une mutable type, vous devez effectuer une itération.
OriginalL'auteur
Ici sont un couple d'options:
Compréhension de liste
Liste tranche d'affectation:
Zip (zip):
OriginalL'auteur PaulMcG
Vous pouvez faire une fonction qui vous permettra de passer le tableau qui va remettre à zéro le tableau. Je n'ai pas utilisé Python dans un certain temps, donc je ne vais pas tenter de vous montrer le code Python. Dans cette fonction, vous pouvez utiliser une
for
ouwhile
boucle pour itérer sur chaque valeur et chaque paramètre égal à zéro.OriginalL'auteur Stephen Oller
Si vous utilisez compréhension de liste vous faire une copie de la liste, il est donc de la mémoire des déchets.
Utiliser la liste de compréhension ou de découpage à faire de nouvelles listes, l'utilisation de cercles pour fixer la liste de vos éléments correctement.
OriginalL'auteur Pallapo
numpy.ndarray.fill() remplira ndarray avec la valeur scalaire
OriginalL'auteur wwwjjj