0

I have this type of nested list data.

array =[
['PRODUCT NAME PACK', 'BAIGAM KOT', 'FIAZ BAGH', 'OLD ANARKALI', 'SULTAN PURA', 'TEZAB AAHATA', 'GHORAY SHAH', 'KOT KHAWAJA SAEED']
['002188', 0, 0, 0, 0, 0, '2', '3']
['PRODUCT NAME PACK', 'BAGHBAN PURA', 'GAWAL MANDI', 'OLD ANARKALI', 'MAYO HOSPITAL', 'GARHI SHAHU BAZAR', 'BILAL GUNJ', 'LADY WELLINGTON HOSPITAL']
['002188', '3', 0, 0, 0, 0, 0, 0]
['008999', 0, 0, 0, 0, '1', 0, 0]
['012961', 0, 0, 0, 0, 0, '3', 0]
]

Want this type of output from this list.

array =[
[['PRODUCT NAME PACK', 'BAIGAM KOT', 'FIAZ BAGH', 'OLD ANARKALI', 'SULTAN PURA', 'TEZAB AAHATA', 'GHORAY SHAH', 'KOT KHAWAJA SAEED']
['002188', 0, 0, 0, 0, 0, '2', '3']]
[['PRODUCT NAME PACK', 'BAGHBAN PURA', 'GAWAL MANDI', 'OLD ANARKALI', 'MAYO HOSPITAL', 'GARHI SHAHU BAZAR', 'BILAL GUNJ', 'LADY WELLINGTON HOSPITAL']
['002188', '3', 0, 0, 0, 0, 0, 0]
['008999', 0, 0, 0, 0, '1', 0, 0]
['012961', 0, 0, 0, 0, 0, '3', 0]]
]
2
  • what type of "list" data is that? a pandas dataframe? without comma separators between elements, neither of those are lists... Commented Nov 20, 2021 at 5:39
  • it a comma separated list in python Commented Nov 20, 2021 at 5:42

1 Answer 1

1

This would work:

array = [
    [
        "PRODUCT NAME PACK",
        "BAIGAM KOT",
        "FIAZ BAGH",
        "OLD ANARKALI",
        "SULTAN PURA",
        "TEZAB AAHATA",
        "GHORAY SHAH",
        "KOT KHAWAJA SAEED",
    ],
    ["002188", 0, 0, 0, 0, 0, "2", "3"],
    [
        "PRODUCT NAME PACK",
        "BAGHBAN PURA",
        "GAWAL MANDI",
        "OLD ANARKALI",
        "MAYO HOSPITAL",
        "GARHI SHAHU BAZAR",
        "BILAL GUNJ",
        "LADY WELLINGTON HOSPITAL",
    ],
    ["002188", "3", 0, 0, 0, 0, 0, 0],
    ["008999", 0, 0, 0, 0, "1", 0, 0],
    ["012961", 0, 0, 0, 0, 0, "3", 0],
]

outer = []
for item in array:
    if "PRODUCT NAME PACK" in item:
        inner = []
        outer.append(inner)
    inner.append(item)

print(outer)

That gives me:

➜  nested python main.py 
[[['PRODUCT NAME PACK', 'BAIGAM KOT', 'FIAZ BAGH', 'OLD ANARKALI', 'SULTAN PURA', 'TEZAB AAHATA', 'GHORAY SHAH', 'KOT KHAWAJA SAEED'], ['002188', 0, 0, 0, 0, 0, '2', '3']], [['PRODUCT NAME PACK', 'BAGHBAN PURA', 'GAWAL MANDI', 'OLD ANARKALI', 'MAYO HOSPITAL', 'GARHI SHAHU BAZAR', 'BILAL GUNJ', 'LADY WELLINGTON HOSPITAL'], ['002188', '3', 0, 0, 0, 0, 0, 0], ['008999', 0, 0, 0, 0, '1', 0, 0], ['012961', 0, 0, 0, 0, 0, '3', 0]]]

Sign up to request clarification or add additional context in comments.

3 Comments

Thanks Daniel! "BAIGAM KOT" has zero value that is place in second index after "002188". Is it possible to make it in one array like this. ["002188", "BAIGAM KOT",0] and ["002188", "FIAZ BAGH",0] and so on. Because each "PRODUCT NAME PACK" list contain value in next array and so on.
I was just going off of the output you said you expected. If you expect something else, update your question!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.