คำถามติดแท็ก nested-lists

13
รายการการเปลี่ยนแปลงที่แสดงในรายการย่อยโดยไม่คาดคิด
ฉันต้องการสร้างรายการของรายการใน Python ดังนั้นฉันจึงพิมพ์รายการต่อไปนี้: myList = [[1] * 4] * 3 รายการมีลักษณะดังนี้: [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] จากนั้นฉันเปลี่ยนหนึ่งในค่าในสุด: myList[0][0] = 5 ตอนนี้รายการของฉันมีลักษณะเช่นนี้: [[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]] ซึ่งไม่ใช่สิ่งที่ฉันต้องการหรือคาดหวัง ใครช่วยอธิบายสิ่งที่เกิดขึ้นและทำอย่างไรจึงจะหลีกเลี่ยงได้

7
วิธีที่เหมาะสมในการสร้างรายการซ้อน HTML?
เอกสาร W3 มีตัวอย่างรายการซ้อนอยู่นำหน้าด้วยDEPRECATED EXAMPLE:แต่พวกเขาไม่เคยแก้ไขด้วยตัวอย่างที่ไม่ได้คัดค้านหรืออธิบายอย่างไม่ถูกต้องกับตัวอย่าง ดังนั้นวิธีใดเป็นวิธีที่ถูกต้องในการเขียนรายการ HTML? ตัวเลือกที่ 1 : ซ้อนกัน<ul>เป็นลูกของผู้ปกครอง<ul> <ul> <li>List item one</li> <li>List item two with subitems:</li> <ul> <li>Subitem 1</li> <li>Subitem 2</li> </ul> <li>Final list item</li> </ul> ตัวเลือกที่ 2 : ซ้อน<ul>เป็นลูกของ<li>มันอยู่ใน <ul> <li>List item one</li> <li>List item two with subitems: <ul> <li>Subitem 1</li> <li>Subitem 2</li> </ul> </li> <li>Final …

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)) …

4
จะทำเครื่องหมายรายการที่ซ้อนกันใน Bitbucket ได้อย่างไร?
ฉันกำลังพยายามดูรายการที่ซ้อนกันมาร์กดาวน์ของฉันที่แสดงผลด้วยการเยื้องที่สอดคล้องกันเมื่อดูในเบราว์เซอร์สดจากหน้า Bitbucket แต่ฉันไม่สามารถเข้าใจได้ว่ามันทำงานอย่างไรแม้ว่าจะใช้ตัวอย่าง ( อัปเดต ): * Item 1 * Item 2 * Item 3 * Item 3a * Item 3b * Item 3c จะละเว้นการเยื้องสำหรับรายการ 3a-c: ฉันต้องการให้มีลักษณะเช่นนี้ (ไวยากรณ์ทำงานได้ดีอย่างสมบูรณ์บน SE และ Github): ตัวอย่างรายการของพวกเขาในรายการเป็นสิ่งที่ยอมรับไม่ได้โดยเฉพาะ: 1. Step 1 2. Step 2 3. Step 3 * Item 3a * Item 3b * Item 3c …

7
Python ผนวก () กับ + ตัวดำเนินการในรายการทำไมสิ่งเหล่านี้จึงให้ผลลัพธ์ที่แตกต่างกัน?
ทำไมทั้งสองการดำเนินงาน ( append()resp. +) ให้ผลลัพธ์ที่แตกต่างกันอย่างไร >>> c = [1, 2, 3] >>> c [1, 2, 3] >>> c += c >>> c [1, 2, 3, 1, 2, 3] >>> c = [1, 2, 3] >>> c.append(c) >>> c [1, 2, 3, [...]] >>> ในกรณีสุดท้ายมีการเรียกซ้ำไม่สิ้นสุด c[-1]และcเหมือนกัน ทำไมจึงแตกต่างกับการ+ดำเนินการ?

3
จะสร้างการเยื้องหลายระดับใน Javadoc ได้อย่างไร?
สมมติว่าเป็นส่วนหนึ่งของการบันทึกโค้ดของคุณ (Javadoc) คุณต้องการระบุว่าความสัมพันธ์ระหว่างองค์ประกอบที่ใช้การเยื้องลึก ฉันจะสร้างรายการที่ซ้อนกันเป็น: องค์ประกอบบางอย่าง องค์ประกอบอื่น ๆ แต่องค์ประกอบอื่น ๆ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.