简体   繁体   中英

How do I shift key into values and make index as key in dictionary?

How do I shift key into values and make index as key in dictionary?

I have this dictionary:

d={'Acconti imposta IRAP (EE)': ('Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)'),
     'Acconti imposta IRES (EE)': ('Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)'),
     'Acquisti carburanti lubrificanti auto': ('Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto'),
     'Acquisto cancelleria': ('Acquisto cancelleria',
      'Acquisto cancelleria',
      'Acquisto cancelleria'),
     'Acquisto materiali consumo': ('Acquisto materiali di consumo',
      'Acquisto materiali di consumo',
      'Acquisto materiali di consumo')}

And I need it to look like this:

d1={0: ('Acconti imposta IRAP (EE)','Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)',
      'Acconti di imposta IRAP (EE)'),
     1: ('Acconti imposta IRES (EE)','Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)',
      'Acconti di imposta IRES (EE)'),
     2: ('Acquisti carburanti lubrificanti auto', 'Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto',
      'Acquisti carburanti e lubrificanti auto'),
     3: ('Acquisto cancelleria', 'Acquisto cancelleria',
      'Acquisto cancelleria',
      'Acquisto cancelleria'),
     4: (Acquisto materiali consumo', 'Acquisto materiali di consumo',
      'Acquisto materiali di consumo',
      'Acquisto materiali di consumo')}

How can I do that? thank you!

Try:

out = {i: (k,) + v for i, (k, v) in enumerate(d.items())}
print(out)

Prints:

{
    0: (
        "Acconti imposta IRAP (EE)",
        "Acconti di imposta IRAP (EE)",
        "Acconti di imposta IRAP (EE)",
        "Acconti di imposta IRAP (EE)",
    ),
    1: (
        "Acconti imposta IRES (EE)",
        "Acconti di imposta IRES (EE)",
        "Acconti di imposta IRES (EE)",
        "Acconti di imposta IRES (EE)",
    ),
    2: (
        "Acquisti carburanti lubrificanti auto",
        "Acquisti carburanti e lubrificanti auto",
        "Acquisti carburanti e lubrificanti auto",
        "Acquisti carburanti e lubrificanti auto",
    ),
    3: (
        "Acquisto cancelleria",
        "Acquisto cancelleria",
        "Acquisto cancelleria",
        "Acquisto cancelleria",
    ),
    4: (
        "Acquisto materiali consumo",
        "Acquisto materiali di consumo",
        "Acquisto materiali di consumo",
        "Acquisto materiali di consumo",
    ),
}

Create a new empty dictionnary, iterate through your dictionnary and fill the new dictionnary:

d1 = dict()
cnt = 0

for key, value in d.items():
    d1[cnt] = (key, *value)
    cnt += 1

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM