คำถามติดแท็ก for-loop

ห่วงสำหรับเป็นโครงสร้างการควบคุมที่ใช้โดยภาษาการเขียนโปรแกรมจำนวนมากเพื่อย้ำช่วง มันเป็นวิธีการทำซ้ำคำสั่งหลายครั้งจนกระทั่งวนซ้ำ ขึ้นอยู่กับภาษาซึ่งอาจอยู่ในช่วงของจำนวนเต็มตัววนซ้ำเป็นต้น

30
วนซ้ำอาร์เรย์ใน JavaScript
ใน Java คุณสามารถใช้การforวนลูปเพื่อสำรวจวัตถุในอาร์เรย์ดังนี้ String[] myStringArray = {"Hello", "World"}; for (String s : myStringArray) { // Do something } คุณสามารถทำเช่นเดียวกันใน JavaScript?

30
ฉันจะวนซ้ำหรือระบุวัตถุ JavaScript ได้อย่างไร
ฉันมีวัตถุ JavaScript ดังต่อไปนี้: var p = { "p1": "value1", "p2": "value2", "p3": "value3" }; ตอนนี้ผมต้องการที่จะห่วงผ่านทุกpองค์ประกอบ ( p1, p2,p3 ... ) และได้รับคีย์และค่าของพวกเขา ฉันจะทำสิ่งนั้นได้อย่างไร ฉันสามารถแก้ไขวัตถุ JavaScript ได้ถ้าจำเป็น evalเป้าหมายสูงสุดของผมคือการห่วงผ่านบางคู่ค่าที่สำคัญและถ้าเป็นไปได้ผมอยากจะหลีกเลี่ยงการใช้
2877 javascript  loops  for-loop  each 

3
ทำไมการพิมพ์“ B” ช้ากว่าการพิมพ์“ #” มาก
ฉันสร้างเมทริกซ์สองตัวของ1000x 1000: แรกเมทริกซ์: และO ประการที่สองเมทริกซ์: และ#OB ใช้รหัสต่อไปนี้เมทริกซ์แรกใช้เวลา 8.52 วินาทีในการทำให้เสร็จสมบูรณ์: Random r = new Random(); for (int i = 0; i < 1000; i++) { for (int j = 0; j < 1000; j++) { if(r.nextInt(4) == 0) { System.out.print("O"); } else { System.out.print("#"); } } System.out.println(""); } ด้วยรหัสนี้เมทริกซ์ที่สองใช้เวลา 259.152 วินาทีในการทำให้เสร็จสมบูรณ์: …


20
ฉันจะวนซ้ำช่วงของตัวเลขที่กำหนดโดยตัวแปรใน Bash ได้อย่างไร
ฉันจะวนซ้ำในช่วงของตัวเลขใน Bash ได้อย่างไรเมื่อช่วงถูกกำหนดโดยตัวแปร ฉันรู้ว่าฉันสามารถทำได้ (เรียกว่า "ลำดับนิพจน์" ในเอกสาร Bash ): for i in {1..5}; do echo $i; done ซึ่งจะช่วยให้: 1 2 3 4 5 แต่ฉันจะแทนที่จุดปลายของช่วงใดช่วงหนึ่งด้วยตัวแปรได้อย่างไร สิ่งนี้ใช้ไม่ได้: END=5 for i in {1..$END}; do echo $i; done สิ่งที่พิมพ์: {} 1..5
1543 bash  shell  for-loop  syntax 


10
A 'for' วนซ้ำเพื่อวนซ้ำ enum ใน Java
ฉันมีenumJava สำหรับทิศทางสำคัญ & กลาง: public enum Direction { NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST, NORTHWEST } ฉันจะเขียนforลูปที่วนซ้ำผ่านแต่ละenumค่าเหล่านี้ได้อย่างไร
876 java  loops  for-loop  enums 

6
วิธีการวนซ้ำสองรายการในแบบคู่ขนานได้อย่างไร
ฉันมีสอง iterables ในหลามและฉันต้องการไปพวกเขาเป็นคู่: foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b มันควรจะส่งผลใน: f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 วิธีหนึ่งในการทำเช่นนี้คือการย้ำเหนือดัชนี: for i in xrange(len(foo)): print "f: ", foo[i], "; …

5
วิธีการวนซ้ำไฟล์ในไดเรกทอรีและเปลี่ยนเส้นทางและเพิ่มคำต่อท้ายชื่อไฟล์
ฉันต้องเขียนสคริปต์ที่เริ่มต้นโปรแกรมของฉันด้วยอาร์กิวเมนต์ที่ต่างกัน แต่ฉันใหม่สำหรับ Bash ฉันเริ่มโปรแกรมด้วย: ./MyProgram.exe Data/data1.txt [Logs/data1_Log.txt]. นี่คือรหัสเทียมสำหรับสิ่งที่ฉันต้องการจะทำ: for each filename in /Data do for int i = 0, i = 3, i++ ./MyProgram.exe Data/filename.txt Logs/filename_Log{i}.txt end for end for ดังนั้นฉันจึงงงว่าจะสร้างอาร์กิวเมนต์ที่สองจากอันแรกได้อย่างไรดูเหมือน dataABCD_Log1.txt และเริ่มโปรแกรมของฉัน
562 bash  for-loop  filenames  glob 

21
ทำไมไพ ธ อนจึงใช้ 'else' หลังจากและขณะลูป
ฉันเข้าใจว่าโครงสร้างนี้ทำงานอย่างไร: for i in range(10): print(i) if i == 9: print("Too big - I'm giving up!") break; else: print("Completed successfully") แต่ฉันไม่เข้าใจว่าเพราะเหตุใดจึงelseใช้เป็นคำหลักที่นี่เนื่องจากจะแนะนำรหัสที่เป็นปัญหาจะทำงานก็ต่อเมื่อforบล็อกนั้นไม่เสร็จซึ่งตรงข้ามกับที่ทำ! ไม่ว่าฉันจะคิดอย่างไรสมองของฉันก็ไม่สามารถก้าวหน้าได้อย่างราบรื่นจากforข้อความถึงelseบล็อก สำหรับฉันcontinueหรือcontinuewithจะทำให้รู้สึกมากกว่า (และฉันพยายามที่จะฝึกตัวเองให้อ่านมันเช่นนี้) ฉันสงสัยว่า Python coders อ่านโครงสร้างนี้ในหัวของพวกเขาอย่างไร (หรือออกเสียงถ้าคุณชอบ) บางทีฉันขาดบางสิ่งบางอย่างที่จะทำให้บล็อกรหัสดังกล่าวถอดรหัสได้ง่ายขึ้น?

8
Java 8 Iterable.forEach () vs foreach loop
ตั้งค่าใหม่ตั้งค่าStack Overflow เป็นภาษาอังกฤษ : Цикл foreach против Iterable.foreach ใน Java 8: чтолучше? ข้อใดต่อไปนี้เป็นแนวทางปฏิบัติที่ดีกว่าใน Java 8 Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } ฉันมีลูปมากมายที่สามารถ "ทำให้ง่ายขึ้น" กับ lambdas แต่มีข้อได้เปรียบอะไรบ้างจากการใช้มัน? มันจะปรับปรุงประสิทธิภาพและความสามารถในการอ่านได้ไหม? แก้ไข ฉันจะขยายคำถามนี้ไปยังวิธีการที่ยาวขึ้น ฉันรู้ว่าคุณไม่สามารถส่งคืนหรือทำลายฟังก์ชั่นหลักจากแลมบ์ดาได้และสิ่งนี้ควรนำมาพิจารณาด้วยเมื่อเปรียบเทียบมัน แต่มีอะไรอีกที่ต้องพิจารณาอีกหรือไม่

7
ทำไมลำดับของลูปจึงมีผลต่อประสิทธิภาพเมื่อทำการวนซ้ำในอาร์เรย์ 2 มิติ
ด้านล่างนี้เป็นสองโปรแกรมที่เกือบเหมือนกันยกเว้นว่าฉันได้เปลี่ยนiและjตัวแปร พวกเขาทั้งสองทำงานในเวลาต่างกัน มีคนอธิบายได้ไหมว่าทำไมสิ่งนี้ถึงเกิดขึ้น รุ่น 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int x[4000][4000]; for (i = 0; i < 4000; i++) { for (j = 0; j < 4000; j++) { x[j][i] = i + j; } } } เวอร์ชัน 2 #include <stdio.h> #include <stdlib.h> main …

17
ทำซ้ำไฟล์ทั้งหมดในไดเรกทอรีโดยใช้ลูป 'for'
ฉันจะวนซ้ำแต่ละไฟล์ในไดเรกทอรีโดยใช้การforวนซ้ำได้อย่างไร และฉันจะบอกได้อย่างไรว่ารายการบางรายการเป็นไดเรกทอรีหรือถ้าเป็นเพียงไฟล์?

30
ใน. NET วงใดทำงานเร็วกว่า 'for' หรือ 'foreach'
ใน C # / VB.NET / .NET ซึ่งห่วงทำงานได้เร็วขึ้นforหรือforeach? นับตั้งแต่ฉันอ่านว่าforลูปทำงานได้เร็วกว่าforeachลูปเมื่อนานมาแล้วฉันถือว่ามันเป็นจริงสำหรับคอลเลกชันทั้งหมดคอลเลกชันทั่วไปอาร์เรย์ทั้งหมด ฯลฯ ฉันเฆี่ยนตี Google และพบบทความไม่กี่บทความ แต่ส่วนใหญ่ยังสรุปไม่ได้ (อ่านความคิดเห็นเกี่ยวกับบทความ) และสิ้นสุดวันที่เปิด สิ่งที่จะเหมาะคือการแสดงรายการแต่ละสถานการณ์และทางออกที่ดีที่สุดสำหรับเรื่องเดียวกัน ตัวอย่างเช่น (เป็นเพียงตัวอย่างว่าควรจะเป็นอย่างไร): สำหรับการวนซ้ำสตริงที่forมีมากกว่า1,000 รายการจะดีกว่าforeach สำหรับการวนซ้ำIListสตริง (ไม่ใช่ทั่วไป) - foreachดีกว่าfor พบการอ้างอิงบางอย่างบนเว็บสำหรับสิ่งเดียวกัน: ต้นฉบับบทความเก่าแก่ที่ยิ่งใหญ่โดย Emmanuel Schanzer CodeProject เทียบกับ FOREACH สำหรับ บล็อก - เพื่อforeachหรือไม่foreachนั่นคือคำถาม ฟอรัม ASP.NET - NET 1.1 C # forกับforeach [แก้ไข] นอกจากความสามารถในการอ่านของมันฉันยังสนใจในข้อเท็จจริงและตัวเลข มีแอพพลิเคชั่นที่การบีบอัดประสิทธิภาพการทำงานให้มีประสิทธิภาพ
345 c#  .net  performance  for-loop 

5
จะใช้ range-based สำหรับ () loop กับ std :: map ได้อย่างไร?
ตัวอย่างทั่วไปสำหรับลูป C ++ 11 ที่ใช้สำหรับ () เป็นบางสิ่งที่ง่ายเช่นนี้เสมอ: std::vector<int> numbers = { 1, 2, 3, 4, 5, 6, 7 }; for ( auto xyz : numbers ) { std::cout << xyz << std::endl; } ซึ่งในกรณีที่เป็นxyz intแต่จะเกิดอะไรขึ้นเมื่อเรามีบางอย่างที่เหมือนแผนที่ ชนิดของตัวแปรในตัวอย่างนี้คืออะไร: std::map< foo, bar > testing = { /*...blah...*/ }; for ( auto abc : …

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