Come Separare le Lettere all'Interno di una Lista?

0

Domanda

Ho questo pezzo di codice

First = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
First = list(First.split())
solve = " "
for i in First:
    solve += chr(int(i, base=8))
print(solve)

quello che ho bloccato, è come separare le lettere all'interno di una lista, invece di stampare tutte le lettere insieme. Ho provato solve = (solve.split(",") for sep in solve) ma mi danno un errore. cosa farò esattamente è quello di prendere un ord() il valore di ogni lettera e sottrarre 4 per poi tornare a str da chr()

cryptography list python
2021-11-24 04:14:09
2

Migliore risposta

1

È possibile utilizzare un elenco di comprensione:

data = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
output = [chr(int(x, base=8)) for x in data.split()]
print(output) # ['j', 'r', 'j', 'e', 'r', 'w', 'h', 'z', 'k', 'r', 'e', 'x', 'a', '\x0e']

Se si desidera utilizzare il codice originale, poi basta list(solve) farà la lista di caratteri. Ma nota che non c'è (forse involontaria) vuoto all'inizio del tuo solve; questo accade perché si è avviato solve con " "non "".


Se si desidera sottrarre 4 per ogni intero rappresentazione dei personaggi (come è spiegato nella domanda), per ottenere la stringa, quindi

data = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
output = ''.join(chr(int(x, base=8) - 4) for x in data.split())
print(output) # fnfansdvgnat]

sarebbe fornire un collegamento.

2021-11-24 04:25:02

Ha funzionato bene grazie signore.
iis2h
0

È possibile utilizzare l'elenco direttamente invece di stringa come segue:

First = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
First = list(First.split())
solve = []
for i in First:
    solve.append( chr(int(i, base=8)))
print(solve)

Output: ['j', 'r', 'j', 'e', 'r', 'w', 'h', 'z', 'k', 'r', 'e', 'x', 'a', '\x0e']

È possibile risolvere la conversione di una stringa, come di seguito:

''.join(solve)
2021-11-24 04:19:04

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................