คำถามติดแท็ก sorted

11
วิธีรับดัชนีของอาร์เรย์ที่เรียงลำดับใน Python
ฉันมีรายการตัวเลข: myList = [1, 2, 3, 100, 5] [1, 2, 3, 5, 100]ตอนนี้ถ้าผมเรียงลำดับรายการนี้จะได้รับ สิ่งที่ฉันต้องการคือดัชนีขององค์ประกอบจากรายการต้นฉบับในการเรียงลำดับคือ[0, 1, 2, 4, 3] --- ala MATLAB ของฟังก์ชั่นการเรียงลำดับที่ส่งกลับทั้งค่าและดัชนี
199 python  indexing  sorted 

5
ฟังก์ชัน sorted () ของ python รับประกันว่าเสถียรหรือไม่?
เอกสารไม่ได้รับประกันว่า มีสถานที่อื่นที่เป็นเอกสารหรือไม่? ฉันเดาว่ามันอาจจะคงที่เนื่องจากวิธีการเรียงลำดับในรายการได้รับการรับรองว่ามีความเสถียร (จุดที่ 9 ของหมายเหตุ: "เริ่มต้นด้วย Python 2.3 วิธีการเรียงลำดับ () จะได้รับการรับรองว่าเสถียร") และการเรียงลำดับจะคล้ายกัน อย่างไรก็ตามฉันไม่พบแหล่งที่มาที่ชัดเจนที่กล่าวเช่นนั้น วัตถุประสงค์: ฉันต้องการจัดเรียงตามคีย์หลักและคีย์รองในกรณีที่คีย์หลักเท่ากันในทั้งสองระเบียน หากรับประกันว่า sorted () มีเสถียรภาพฉันสามารถจัดเรียงบนคีย์รองจากนั้นเรียงลำดับบนคีย์หลักและได้ผลลัพธ์ที่ต้องการ PS: เพื่อหลีกเลี่ยงความสับสนฉันใช้ความเสถียรในแง่ของ "การเรียงลำดับมีเสถียรภาพหากรับประกันว่าจะไม่เปลี่ยนลำดับสัมพัทธ์ขององค์ประกอบที่เปรียบเทียบเท่ากัน"

12
จัดเรียงรายการอาร์เรย์ใน Java
ฉันงุนงงที่ไม่สามารถหาคำตอบได้อย่างรวดเร็วสำหรับเรื่องนี้ ฉันกำลังมองหาโครงสร้างข้อมูลใน Java ซึ่งใช้java.util.Listอินเทอร์เฟซเป็นหลัก แต่จะจัดเก็บสมาชิกในลำดับที่เรียงลำดับ ฉันรู้ว่าคุณสามารถใช้แบบปกติArrayListและCollections.sort()ใช้ได้ แต่ฉันมีสถานการณ์ที่ฉันเพิ่มและดึงข้อมูลสมาชิกจากรายการของฉันเป็นครั้งคราวและฉันไม่ต้องการเรียงลำดับทุกครั้งที่ดึงข้อมูลสมาชิกในกรณีที่ เพิ่มอันใหม่แล้ว ใครช่วยชี้ให้ฉันเห็นสิ่งที่มีอยู่ใน JDK หรือแม้แต่ห้องสมุดบุคคลที่สาม แก้ไข : โครงสร้างข้อมูลจะต้องเก็บข้อมูลที่ซ้ำกัน สรุปคำตอบ : ฉันพบว่าทั้งหมดนี้น่าสนใจมากและได้เรียนรู้มากมาย โดยเฉพาะอย่างยิ่ง Aioobe สมควรได้รับการกล่าวถึงสำหรับความอุตสาหะของเขาในการพยายามบรรลุข้อกำหนดของฉันข้างต้น (ส่วนใหญ่เป็นการใช้งาน java.util.List ที่เรียงลำดับซึ่งรองรับรายการที่ซ้ำกัน) ฉันยอมรับว่าคำตอบของเขาถูกต้องที่สุดสำหรับสิ่งที่ฉันถามและความคิดส่วนใหญ่ที่กระตุ้นให้เกิดผลกระทบของสิ่งที่ฉันกำลังมองหาแม้ว่าสิ่งที่ฉันถามจะไม่ใช่สิ่งที่ฉันต้องการก็ตาม ปัญหาเกี่ยวกับสิ่งที่ฉันขออยู่ในอินเทอร์เฟซรายการและแนวคิดของวิธีการเสริมในอินเทอร์เฟซ หากต้องการอ้างอิง javadoc: ผู้ใช้อินเทอร์เฟซนี้สามารถควบคุมได้อย่างแม่นยำว่าจะแทรกองค์ประกอบใดในรายการ การแทรกลงในรายการที่เรียงลำดับไม่สามารถควบคุมจุดแทรกได้อย่างแม่นยำ จากนั้นคุณต้องคิดว่าคุณจะจัดการกับวิธีการบางอย่างอย่างไร ใช้addตัวอย่างเช่น: เพิ่มบูลีนสาธารณะ (Object o) Appends the specified element to the end of this list (optional operation). ตอนนี้คุณถูกทิ้งให้อยู่ในสถานการณ์ที่ไม่สบายใจของ 1) การทำลายสัญญาและใช้การเพิ่มเวอร์ชันที่เรียงลำดับ 2) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.