רשימה מקוננת עשויה להיות רשימה של רשימות או להכיל מספר סוגי נתונים. אם בנית אחד מכמה סוגי נתונים קטנים יותר, אולי תרצה לשטח אותו כדי להפוך את הפריטים לקריאה ונגישה יותר.

גלה כיצד להפוך רשימה מקוננת לרשימה ישרה, עם שלוש גישות שונות.

כיצד לשטח רשימת פייתונים

ישנן כמה דרכים ליישר רשימה מקוננת ב-Python, בהתאם למורכבותה. רשימה המכילה רק רשימות, למשל, קלה יותר לשטח מאשר רשימה עם סוגי נתונים מעורבים.

תראה כיצד לטפל בכל אחד מהם בסעיפים הבאים.

כיצד לשטח רשימה מקוננת של רשימות עם הפונקציה Sum()

שיטה זו חלה רק על רשימת Python של רשימות, והיא כוללת שרשרת הפריטים ברשימה מקוננת כזו. זה לא חל על רשימה של לולאות, מילונים, סטים או סוגי נתונים מעורבים מכיוון שלא ניתן לשרשר את הסוגים האלה.

בזמן שאתה יכול להשתמש ב ל לולאה כדי לשטח רשימה של רשימות, ה סְכוּם() הפונקציה פשוטה וקריאה יותר מכיוון שהיא א Python one-liner:

nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]

flatList = sum (enstedList, [])
הדפס(רשימה שטוחה)

# פלט: [1, 3, 4, 2, 4, 7, 9, 0]

כיצד להשתמש ב-for Loop כדי לשטח רשימה מקוננת מעורבת

אתה יכול להשתמש ב-a פייתון עבור לולאה

instagram viewer
הן עבור סוגי נתונים מעורבים והן עבור סוגי נתונים הומוגניים. אז זה עובד בין אם רשימה מקוננת מכילה רק רשימות, טפולות, סטים, מילונים או התערובת שלהם:

nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"ה": 3, "o":9, "ט":7}]
רשימה שטוחה = []

עבור i ב- nestedList:
עבור k in i:
רשימה שטוחה.לְצַרֵף(ק)

הדפס(רשימה שטוחה)

# פלט: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'ה', 'o', 'ט']

אתה יכול גם להשיג זאת עם הבנת רשימה:

flatList = [k עבור i ב- NestdList עבור k ב-i]

הדפס(רשימה שטוחה)

# פלט: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'ה', 'o', 'ט']

בצע מניפולציות של רשימות פייתון כרצונך

רשימת Python מפשטת את אופן ההצגה והגישה לנתונים, מכיוון שקל לתפעל אותה. אמנם ראית כיצד לשטח רשימת Python מקוננת, אך עדיין ישנם שינויים רבים שתוכל להחיל על רשימות, בהתאם למטרה שלך. לדוגמה, המרת רשימת Python למילון היא משימה נפוצה נוספת ש-Python עושה בקלות.