Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

167
Views
Manera pitónica de hacer un diccionario a partir de listas de longitud desigual sin relleno Nones

Tengo una lista de 'Id' que deseo asociar con una propiedad de otra lista, sus 'filas'. Encontré una manera de hacerlo haciendo diccionarios más pequeños y concatenándolos, lo que funciona, pero me preguntaba si había una forma más pitónica de hacerlo.

Código

 row1 = list(range(1, 6, 1)) row2 = list(range(6, 11, 1)) row3 = list(range(11, 16, 1)) row4 = list(range(16, 21, 1)) row1_dict = {} row2_dict = {} row3_dict = {} row4_dict = {} for n in row1: row1_dict[n] = 1 for n in row2: row2_dict[n] = 2 for n in row3: row3_dict[n] = 3 for n in row4: row4_dict[n] = 4 id_to_row_dict = {} id_to_row_dict = {**row1_dict, **row2_dict, **row3_dict, **row4_dict} print('\n') for k, v in id_to_row_dict.items(): print(k, " : ", v)

Salida del diccionario que quiero replicar más pitónicamente

 1 : 1 2 : 1 3 : 1 4 : 1 5 : 1 6 : 2 7 : 2 8 : 2 9 : 2 10 : 2 11 : 3 12 : 3 13 : 3 14 : 3 15 : 3 16 : 4 17 : 4 18 : 4 19 : 4 20 : 4

Salida deseada

Igual que mi resultado anterior, solo quiero ver si hay una mejor manera de hacerlo.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Este dict-comprehension debería hacerlo:

 rows = [row1, row2, row3, row4] {k: v for v, row in enumerate(rows, 1) for k in row}
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!