Esiste un modo per utilizzare l'operatore "splat" (ad esempio a, *rest = somelist
) in modo tale da consumare un determinato numero di elementi?Scompattate un determinato numero di elementi in Python?
Caso di utilizzo: desidero suddividere un input in un numero, un elenco di elenchi, un altro numero e un altro elenco di elenchi.
mio ingresso si presenta così:
5
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
5
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
E voglio i nomi first_num
, first_arrangement
, second_num
, second_arrangement
tale che:
first_num == 5
first_arrangement == [[1, 2, 3, 4], [5, 6, 7, 8], ...]
e così via.
Per fare ciò, sarebbe utile essere in grado di consumare un determinato numero di elementi dall'iter iterabile che ho ottenuto cedendo le linee. Qualcosa di simile sarebbe ideale come una fase intermedia: first_num, *[4]first_arrangement, second_num, *[4]second_arrangement = lines
Qual è il modo normale/canonico/pititico per risolvere questo?
Quale versione di python stai usando? – thefourtheye
non puoi semplicemente tagliare i tuoi argomenti => 'first_arrangement = args [1: 5]' ...? –
In risposta alla prima domanda, non c'è modo di farlo con '*' – MJeffryes