30
เรียบรายการที่ผิดปกติ
Наэтотвопросестьответына กองมากเกินнарусском : Сделатьглубоковложенныйсписокплоскимбезветвленияициклов ใช่ฉันรู้ว่าเรื่องนี้ได้รับการคุ้มครองก่อน ( นี่ , ที่นี่ , ที่นี่ , ที่นี่ ) แต่เท่าที่ผมรู้ว่าการแก้ปัญหาทั้งหมดยกเว้นหนึ่งล้มเหลวในรายการเช่นนี้: L = [[[1, 2, 3], [4, 5]], 6] ตำแหน่งที่ต้องการออก [1, 2, 3, 4, 5, 6] หรืออาจจะดียิ่งขึ้นเป็นตัววนซ้ำ ทางออกเดียวที่ฉันเห็นว่าใช้ได้สำหรับการทำรังโดยพลการพบในคำถามนี้ : def flatten(x): result = [] for el in x: if hasattr(el, "__iter__") and not isinstance(el, basestring): result.extend(flatten(el)) …