Como Letras Separadas Dentro de uma Lista?

0

Pergunta

Eu tenho este pedaço de código

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)

o que eu preso, é como letras separadas dentro de uma lista em vez de imprimir todas as letras juntos. Eu tentei solve = (solve.split(",") for sep in solve) mas dá-me um erro. o que eu faço é exatamente para levar uma ord() valor de cada carta e subtrair 4, em seguida, devolvê-lo para str por chr()

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

Melhor resposta

1

Você pode usar uma lista de compreensão:

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 você quer apenas usar o seu código original, em seguida, basta list(solve) vai fazer a lista de caracteres. Mas observe que há uma (talvez não intencionais) em branco no início de sua solve; isso acontece porque você iniciou solve com " ", não "".


Se você deseja subtrair 4 de cada número inteiro a representação dos personagens (como explicado na pergunta), para obter a seqüência de caracteres e, em seguida,

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]

iria fornecer-lhe com um atalho.

2021-11-24 04:25:02

Funcionou bem, obrigado senhor.
iis2h
0

Você pode usar a lista diretamente, em vez de seqüência de caracteres da seguinte forma:

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']

Você pode converter de resolver uma seqüência de caracteres como abaixo:

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

Em outros idiomas

Esta página está em outros idiomas

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