Dado um número real, converta-o em uma lista de listas, com o sinal negativo (se houver) se tornando uma lista vazia, a parte inteira se tornando uma lista de dígitos e a parte fracionária (se houver) se tornando uma lista de dígitos. Os dígitos devem ser números reais, não cadeias de caracteres.
Exemplos
0
→ [[0]]
123
→ [[1,2,3]]
-123
→ [[],[1,2,3]]
123.45
→ [[1,2,3],[4,5]]
0.45
→ [[0],[4,5]]
-0.45
→ [[],[0],[4,5]]
-123.45
→ [[],[1,2,3],[4,5]]
l
comando do (listify) totallyhuman idioma WIP 's, Intrnt .Respostas:
C #,
6066 bytesExperimente online!
fonte
IEnumerable<char[]>
) é apenas o código de impressão não adiciona-los.JavaScript (ES6),
33444341 bytesRecebe a entrada como uma sequência. Sacrificou
1110 bytes convertendo os elementos na saída em números após a atualização da especificação de desafio.eval
.Teste-o
Explicação
Função anônima tomando a string como argumento via parâmetro
s
."-123.45"
Use RegEx para dividir a seqüência de caracteres em uma matriz em todos os caracteres que não sejam dígitos - ou seja,
-
e.
["","123","45"]
Mapeie o array, passando cada string para uma função via parâmetro
a
.Divida em uma matriz de seqüências de caracteres individuais.
[[],["1","2","3"],["4","5"]]
Mapeie a sub-matriz e
eval
cada sequência, que a converte em um número inteiro.[[],[1,2,3],[4,5]]
fonte
Python 2 , 58 bytes
Experimente online!
fonte
Geléia ,
1310 bytesUm link monádico que pega um número e retorna a lista resultante de listas de números.
Experimente online! (o rodapé apenas imprime a representação python para mostrar todas as listas reais)
... ou veja o suíte de testes .
Quão?
fonte
05AB1E ,
1211 bytesAgradecemos a Riley por salvar um byte. Código:
Usa a codificação 05AB1E . Experimente online!
Explicação:
fonte
ï
?The digits must be actual numbers, not strings.
„-.S€¡
por 6, mas se eles tiverem que ser ints ... incertos.Python 2 , 59 bytes
Experimente online!
-5 bytes de Felipe Nardi Batista
fonte
[[[1, 2, 3], [4, 5]]]
há uma lista externa adicionalmap
com compreensão da lista: ligaçãoNa verdade , 23 bytes
Experimente online!
Explicação:
fonte
SOGL V0.12 , 11 bytes
Experimente aqui!
Saídas para o topo da pilha (porque SOGL a converte em uma sequência de múltiplas linhas porque é feita para ascii-art). Para visualizar o resultado, procure no console depois
`r`@10:
(os colchetes externos são as matrizes da pilha) ou apenas adicioneοø∑
após o códigofonte
Japt (v2.0a0),
12108 bytesRecebe a entrada como uma sequência.
Teste-o (
-Q
sinalize apenas para fins de visualização.)Explicação
Entrada implícita da sequência
U
.Use RegEx para dividir (
q
) em uma matriz em todos os caracteres que não sejam dígitos.Mapa sobre a matriz.
Divida cada sequência em uma matriz de caracteres individuais.
Mapa sobre a matriz.
Converta em número inteiro.
fonte
\D
, já que os únicos que não são dígitos serão.
e-
?/
s :-)/
indo em várias linhas. Eu nunca pensei em tentar omitir os dois.Oitava , 54 bytes
Função anônima que recebe um número como entrada e produz uma matriz de células de vetores numéricos.
Experimente online!
Explicação
fonte
C (gcc) ,
170164152146144 bytesDeve ser capaz de jogar isso um pouco ...
Experimente online!
fonte
#define P printf(
e, em seguida, omitindo o parêntese nasP
chamadasGelatina , 12 bytes
Experimente online!
fonte
0.45
retorna[[],[4,5]
ao invés de[[0],[4,5]]
(colide com-45
)Ṿ
! Consertando ... ok consertado. Quem esperaria que o Jelly analise o0
e.45
de0.45
separadamente ... e o tenha comoṾ
saída também.Na verdade , 16 bytes
Experimente online!
Explicação:
fonte
R,
514772 bytesEstou amando a
RG
biblioteca.Foi necessário adicionar 26 bytes para garantir que a lista vazia estivesse realmente vazia.
Exemplo de saída:
fonte
numeric(0)
uma lista numérica vazia oulist()
ouNULL
?NULL
mas agora tenho certeza de que há uma maneira mais eficiente de fazê-lo. Talvez eu volte a isso.Perl 5 ,
5654 + 1 (-p) = 55 bytesExperimente online!
Salvei dois bytes devido ao Dom me lembrar de $ &
Explicação:
fonte
Perl 6 , 23 bytes
Teste-o
Expandido
Observe que
…».comb
é uma precedência mais alta que+«…
fonte
Python 2 , 59 bytes
Experimente online!
fonte
CJam , 13 bytes
Experimente online!
fonte
Pitão, 12 bytes
Experimente aqui.
fonte
Perl 6 , 22 bytes
Experimente online!
Os elementos na lista retornada são cadeias de caracteres, mas como é normal para Perl, eles podem ser usados como números e serão convertidos implicitamente; eles são "números reais" para todos os fins práticos. Para forçá-los a serem números em sua representação mais imediata, é necessário prefixar apenas o conteúdo do bloco de código com "+« "por mais três bytes.
fonte
+«
provavelmente deve ser incluído.RUBY, 75 bytes
Experimente online!
fonte
.map{z|z.to_i}
por.map &:to_i