-2
votes

Modification des valeurs d'une liste dans Python

J'ai une liste de hachages tels que: xxx pré>

et j'ai besoin de modifier toutes les seconde "colonnes" (./.bash_history) pour devenir un nom unique. Comme ci-dessous: P>

import re
f = open("md5sum.txt","r")
read = f.read()
ar =  re.sub(r"\s+", "", read)
splitting = ar.split('.')
print(splitting[1])
for x in range(len(splitting)):
    if splitting[x] % 2 != 0:
        print("App1")


8 commentaires

"Je ne peux pas trouver une façon de faire cela en termes simples" Qu'est-ce que vous avez essayé de "non si simples"? Et quel est le résultat que vous avez obtenu? En outre, avez-vous des exigences de performance?


Pouvez-vous élaborer comment votre code "ne fonctionne pas"? Que attendiez-vous et ce qui s'est passé réellement? Si vous avez une exception / une erreur, envoyez la ligne sur laquelle elle s'est produite sur et les détails d'exception / d'erreur. S'il vous plaît Modifier Ces détails dans ou nous ne pourrons peut-être pas aider.


@Budagavril J'ai essayé de convertir la liste en Pandas Dataframe et d'essayer de modifier la colonne, mais je n'ai pas réussi en raison de la blanchiment entre les deux. J'ai essayé des délimiteurs et et regex mais je n'ai pas eu de chance. Je n'ai aucune exigence de performance.


exemple de reproductible minimal de ce que vous avez essayé? Ce que vous avez posté ici n'est même pas une liste, mais quelques données ... difficiles à dire quoi de là où avec ça


Nous aurons besoin de plus de contexte avant que nous puissions vous donner une solution à votre problème. Dans quelle structure vos données sont-elles dans? Vous dites que c'est une liste, mais il semble que ce soit peut-être un dataframe Pandas?


@Jordansinger Structure est un fichier txt tel qu'il a été extrait de la commande "sudo trouva -le -exe f -exec md5sum '{}' \;> md5sum.txt"


`Importer re f = ouvert (" md5sum.txt "," r ") Lisez = f.Read () AR = RE7 (R" \ S + "," "", LIRE) STÉDITION = ARRSPLIT ('.' ) Imprimer (fractionnement [1]) pour x dans la plage (len (fractionnement)): Si la fractionnement [x]% 2! = 0: Imprimer ("App1") `


Fait @patrickartner


3 Réponses :


0
votes

Je ne suis pas sûr à 100% de ce que votre objectif est exactement, mais basé sur ce que je suppose que vous voulez, je pense que ce code suffira. XXX


1 commentaires

Vous pouvez chaîner une chaîne ouverte () dans un avec la ligne pour avoir moins d'indendication se produire si elles peuvent commencer / se terminer en même temps et que vous avez le plus probablement des lignes vides en raison de la double \ n \ n ... préférable de vérifier votre code comme exemple de reproductible minimal - Fe pyfiddle.io



0
votes

Créer un fichier : xxx

Ligne de lecture de lecture et de processus par ligne : xxx

sortie: xxx


0 commentaires

0
votes

Vous pouvez le faire avec str.replace () , comme suit: xxx

alors ce serait la sortie de new_read Liste: xxx


0 commentaires