简体   繁体   中英

How to replace list of list in python

I have this list of lists`

listoflist = [[['I', 'nvestment activity during the year is summarised as fol', 'l', 'ows:'],
              ['InterFace-Light', 'InterFace-Light', 'InterFace-Light', 'InterFace-Light'], 
              [[9.0], [9.0], [9.0], [9.0]]], 
              [(45.40929412841797, 167.94473266601562, 49.90929412841797, 178.0337371826172), 
               (47.360496520996094, 167.94473266601562, 241.59832763671875, 178.0337371826172), 
               (238.8065185546875, 167.94473266601562, 243.3065185546875, 178.0337371826172), 
               (240.51470947265625, 167.94473266601562, 259.0223083496094, 178.0337371826172)]]

              [[['Cost'], 
               ['InterFace-Bold'],
               [[9.0]]], 
               [(526.6923828125, 189.15679931640625, 544.8453979492188, 199.52481079101562)]]

              [[['Additions', '£’', '000'], ['InterFace-Bold', 'InterFace-Bold', 'InterFace-Bold'], 
               [[9.0], [9.0], [9.0]]], 
               [(56.747901916503906, 199.1571044921875, 95.19589233398438, 209.52511596679688), 
                (523.3358154296875, 199.1571044921875, 532.69580078125, 209.52511596679688), 
                (530.2658081054688, 199.1571044921875, 544.8457641601562, 209.52511596679688)]]]

I want to replace listoflist[0][0][0] with ['Investment activity during the year is summarised as follows:'], ['Cost'], ['Additions', '£'000']

Here is is my current code:

new_list = [['Investment activity during the year is summarised as follows:'],
            ['Cost'],
            ['Additions', '£’000']]

for i in listoflist:
    i[0].pop(0)
    for ii in new_list:
       i[0].insert(0, ii)

Replacing values in list of list Python didn't help

Depending on what you want to do (replace or insert), here are two options:
To insert:

for ls in listoflist:
    ls.insert(0, "Investment activity during the year is summarised as follows:")

To replace:

for ls in listoflist:
    ls[0] = "Investment activity during the year is summarised as follows:"

edit:
replace:

listoflist[0][0] = "value1"
listoflist[1][0] = "value2"
listoflist[2][0] = "value3"

insert:

listoflist[0].insert(0, "value1")

edit2: I think I finally understood what you wanted to do:

for ls in listoflist:
    if ls[0] == ["I", "nvestment activity during the year is summarised as fol", "l", "ows:"]:
        ls[0] = new_list[0]
    elif ls[0][0] == ["Cost"]:
        ls[0] = new_list[1]
    elif ls[0][0] == ["Additions", "£’", "000"]:
        ls[0] = new_list[2]

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