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

การสุ่มเป็นการกระทำของการสุ่มลำดับขององค์ประกอบในคอลเลกชัน


23
สลับรายการของวัตถุ
ฉันมีรายการสิ่งของและต้องการสับเปลี่ยน ฉันคิดว่าฉันสามารถใช้random.shuffleวิธีการได้ แต่ดูเหมือนว่าจะล้มเหลวเมื่อรายการเป็นวัตถุ มีวิธีการสับวัตถุหรือวิธีอื่นรอบนี้? import random class A: foo = "bar" a1 = a() a2 = a() b = [a1, a2] print(random.shuffle(b)) สิ่งนี้จะล้มเหลว
770 python  list  random  shuffle 

9
สลับแถว DataFrame
ฉันมี DataFrame ต่อไปนี้: Col1 Col2 Col3 Type 0 1 2 3 1 1 4 5 6 1 ... 20 7 8 9 2 21 10 11 12 2 ... 45 13 14 15 3 46 16 17 18 3 ... DataFrame อ่านจากไฟล์ csv แถวทั้งหมดที่มีType1 อยู่ด้านบนตามด้วยแถวที่มีType2 ตามด้วยแถวที่มีType3 เป็นต้น ฉันต้องการสลับลำดับแถวของ DataFrame เพื่อให้ทุกอย่างTypeผสมกัน …

25
ฉันจะสลับอาร์เรย์ใน Swift ได้อย่างไร
ฉันจะสุ่มหรือสุ่มองค์ประกอบภายในอาร์เรย์ใน Swift ได้อย่างไร ตัวอย่างเช่นหากอาร์เรย์ของฉันประกอบด้วยไพ่ 52 ใบฉันต้องการสลับแถวเพื่อสับไพ่
305 arrays  swift  shuffle 

19
ฉันจะสลับบรรทัดของไฟล์ข้อความในบรรทัดคำสั่ง Unix หรือในเชลล์สคริปต์ได้อย่างไร
ฉันต้องการสับเปลี่ยนบรรทัดไฟล์ข้อความแบบสุ่มและสร้างไฟล์ใหม่ ไฟล์อาจมีหลายพันบรรทัด ฉันจะทำอย่างนั้นด้วยcat, awk, cutetc?


16
วิธีที่ดีกว่าในการสลับสองอาร์เรย์ numpy พร้อมเพรียง
ฉันมีอาร์เรย์ numpy สองตัวที่มีรูปร่างต่างกัน แต่มีความยาวเท่ากัน (มิตินำหน้า) ฉันต้องการสับเปลี่ยนแต่ละองค์ประกอบเช่นนั้นองค์ประกอบที่เกี่ยวข้องยังคงสอดคล้องกัน - เช่นสับเปลี่ยนพวกเขาพร้อมกันด้วยความเคารพดัชนีชั้นนำของพวกเขา รหัสนี้ใช้งานได้และแสดงเป้าหมายของฉัน: def shuffle_in_unison(a, b): assert len(a) == len(b) shuffled_a = numpy.empty(a.shape, dtype=a.dtype) shuffled_b = numpy.empty(b.shape, dtype=b.dtype) permutation = numpy.random.permutation(len(a)) for old_index, new_index in enumerate(permutation): shuffled_a[new_index] = a[old_index] shuffled_b[new_index] = b[old_index] return shuffled_a, shuffled_b ตัวอย่างเช่น: >>> a = numpy.asarray([[1, 1], [2, 2], [3, …


12
วิธีที่ดีที่สุดในการสลับ NSMutableArray คืออะไร
หากคุณมีคุณNSMutableArrayจะสุ่มสับเปลี่ยนองค์ประกอบได้อย่างไร (ฉันมีคำตอบของฉันเองสำหรับเรื่องนี้ซึ่งโพสต์ด้านล่าง แต่ฉันใหม่กับ Cocoa และฉันสนใจที่จะรู้ว่ามีวิธีที่ดีกว่านี้หรือไม่) อัปเดต: ตามที่ระบุไว้โดย @Mukesh ตั้งแต่ iOS 10+ และ macOS 10.12+ มี-[NSMutableArray shuffledArray]วิธีการที่สามารถใช้เพื่อสลับ ดูhttps://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objcสำหรับรายละเอียด (แต่โปรดทราบว่าสิ่งนี้จะสร้างอาร์เรย์ใหม่แทนที่การสับเปลี่ยนองค์ประกอบในที่)

12
ใช้ Random และ Order เป็นอัลกอริธึมการสับเปลี่ยนที่ดีหรือไม่
ฉันได้อ่านบทความเกี่ยวกับขั้นตอนวิธีการสับเปลี่ยนต่างๆมากกว่าที่Coding สยองขวัญ ฉันได้เห็นว่ามีคนทำสิ่งนี้เพื่อสลับรายการ: var r = new Random(); var shuffled = ordered.OrderBy(x => r.Next()); นี่เป็นอัลกอริทึมสลับที่ดีหรือไม่ มันทำงานอย่างไรกันแน่? มันเป็นวิธีที่ยอมรับได้ของการทำเช่นนี้?
164 c#  algorithm  shuffle 


12
การใช้เมธอด JavaScript Array.sort () ในการสับถูกต้องหรือไม่
ฉันกำลังช่วยใครบางคนด้วยโค้ด JavaScript ของเขาและสายตาของฉันก็ถูกจับโดยส่วนที่ดูเหมือนว่า: function randOrd(){ return (Math.round(Math.random())-0.5); } coords.sort(randOrd); alert(coords); สิ่งแรกของฉันคือ: เดี๋ยวก่อนนี่อาจใช้ไม่ได้! แต่แล้วฉันก็ได้ทำการทดลองและพบว่าอย่างน้อยมันก็ดูเหมือนจะให้ผลลัพธ์แบบสุ่ม จากนั้นฉันก็ค้นหาเว็บและเกือบที่ด้านบนพบบทความที่มีการคัดลอกโค้ดนี้มากที่สุด ดูเหมือนเว็บไซต์และผู้เขียนที่น่านับถือทีเดียว ... แต่ความรู้สึกในใจของฉันบอกฉันว่าสิ่งนี้ต้องผิด โดยเฉพาะอย่างยิ่งเมื่ออัลกอริทึมการเรียงลำดับไม่ได้ระบุไว้ตามมาตรฐาน ECMA ฉันคิดว่าการเรียงลำดับ algoritms ที่แตกต่างกันจะส่งผลให้เกิดการสับเปลี่ยนที่ไม่เหมือนกัน อัลกอริธึมการเรียงลำดับบางอย่างอาจวนซ้ำไม่สิ้นสุด ... แต่คุณคิดอย่างไร? และเป็นอีกคำถาม ... ตอนนี้ฉันจะไปวัดผลสุ่มของเทคนิคการสับไพ่นี้ได้อย่างไร? อัปเดต:ฉันทำการวัดผลและโพสต์ผลลัพธ์ด้านล่างเป็นหนึ่งในคำตอบ

9
วัตถุประสงค์ของการสับและเรียงลำดับเฟสในตัวลดในแผนที่ลดการเขียนโปรแกรมคืออะไร?
ในการเขียนโปรแกรมแผนที่ลดระยะการลดจะมีการสับเรียงลำดับและลดเป็นส่วนย่อย การจัดเรียงเป็นเรื่องที่มีค่าใช้จ่ายสูง วัตถุประสงค์ของการสับและเรียงลำดับเฟสในตัวลดในแผนที่ลดการเขียนโปรแกรมคืออะไร?

11
ฉันจะสุ่มเส้นในไฟล์โดยใช้เครื่องมือมาตรฐานบน Red Hat Linux ได้อย่างไร
ฉันจะสุ่มเส้นในไฟล์โดยใช้เครื่องมือมาตรฐานบน Red Hat Linux ได้อย่างไร ฉันไม่มีshufคำสั่งดังนั้นฉันกำลังมองหาบางอย่างเช่น a perlหรือawk one-liner ที่ทำงานเดียวกันให้สำเร็จ
102 linux  file  random  redhat  shuffle 

6
วิธีการสุ่ม std :: vector?
ฉันกำลังมองหาวิธีทั่วไปที่ใช้ซ้ำได้ในการสลับไฟล์std::vectorใน C ++ นี่เป็นวิธีที่ฉันทำในปัจจุบัน แต่ฉันคิดว่ามันไม่ค่อยมีประสิทธิภาพเพราะมันต้องการอาร์เรย์กลางและจำเป็นต้องรู้ประเภทรายการ (DeckCard ในตัวอย่างนี้): srand(time(NULL)); cards_.clear(); while (temp.size() > 0) { int idx = rand() % temp.size(); DeckCard* card = temp[idx]; cards_.push_back(card); temp.erase(temp.begin() + idx); }
99 c++  shuffle  stdvector 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.