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

รายการแท็กอาจอ้างถึง: รายการที่เชื่อมโยง (ชุดของโหนดที่สั่งซื้อ, การอ้างอิงแต่ละครั้งที่สืบทอด) หรือรูปแบบของอาร์เรย์แบบไดนามิก ที่จะไม่ใช้สำหรับรายการ HTML ให้ใช้ [html-list] แทน

14
แปลงชุดเป็นรายการโดยไม่ต้องสร้างรายการใหม่
ฉันใช้รหัสนี้เพื่อแปลง a Setเป็นList: Map<String, List<String>> mainMap = new HashMap<>(); for (int i=0; i < something.size(); i++) { Set<String> set = getSet(...); //returns different result each time List<String> listOfNames = new ArrayList<>(set); mainMap.put(differentKeyName, listOfNames); } ฉันต้องการหลีกเลี่ยงการสร้างรายการใหม่ในการวนซ้ำแต่ละครั้ง เป็นไปได้ไหม
503 java  performance  list  set 

18
รายการ <T> หรือ IList <T> [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน7 เดือนที่ผ่านมา ใครสามารถอธิบายให้ฉันทำไมฉันต้องการใช้ IList มากกว่ารายชื่อใน C #? คำถามที่เกี่ยวข้อง: เหตุใดจึงถือว่าไม่ดีที่จะเปิดเผยList&lt;T&gt;
495 c#  list  generics 

30
วิธี "pythonic" มากที่สุดในการวนซ้ำรายการในกลุ่มคืออะไร?
ฉันมีสคริปต์ Python ซึ่งใช้เป็นรายการของจำนวนเต็มซึ่งฉันต้องทำงานกับจำนวนเต็มสี่ตัวในแต่ละครั้ง น่าเสียดายที่ฉันไม่สามารถควบคุมอินพุตได้หรือฉันจะให้มันส่งผ่านเป็นรายการของ tuples สี่องค์ประกอบ ขณะนี้ฉันกำลังทำซ้ำด้วยวิธีนี้: for i in xrange(0, len(ints), 4): # dummy op for example code foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3] ดูเหมือนว่า "C-think" มากซึ่งทำให้ฉันสงสัยว่ามีวิธีการรับมือกับสถานการณ์นี้มากขึ้น รายการจะถูกยกเลิกหลังจากทำซ้ำดังนั้นจึงไม่จำเป็นต้องเก็บรักษาไว้ บางทีสิ่งนี้จะดีกว่าไหม? while ints: foo += ints[0] * ints[1] + ints[2] * ints[3] …


16
เหตุใดฉันจึงได้รับ UnsupportedOperationException เมื่อพยายามลบองค์ประกอบออกจากรายการ
ฉันมีรหัสนี้: public static String SelectRandomFromTemplate(String template,int count) { String[] split = template.split("|"); List&lt;String&gt; list=Arrays.asList(split); Random r = new Random(); while( list.size() &gt; count ) { list.remove(r.nextInt(list.size())); } return StringUtils.join(list, ", "); } ฉันได้รับสิ่งนี้: 06-03 15:05:29.614: ERROR/AndroidRuntime(7737): java.lang.UnsupportedOperationException 06-03 15:05:29.614: ERROR/AndroidRuntime(7737): at java.util.AbstractList.remove(AbstractList.java:645) นี่จะเป็นวิธีที่ถูกต้องได้อย่างไร Java.15

22
การหาค่าเฉลี่ยของรายการ
ฉันต้องค้นหาค่าเฉลี่ยของรายการใน Python นี่คือรหัสของฉันจนถึงตอนนี้ l = [15, 18, 2, 36, 12, 78, 5, 6, 9] print reduce(lambda x, y: x + y, l) ฉันได้มันมาแล้วมันจะรวมค่าต่าง ๆ ในรายการเข้าด้วยกัน แต่ฉันไม่รู้ว่าจะแบ่งมันเป็นอย่างไร
473 python  list  lambda  average  reduce 

20
ค้นหาจุดตัดของสองรายการซ้อนกันหรือไม่
ฉันรู้วิธีรับสี่แยกรายการแบน: b1 = [1,2,3,4,5,9,11,15] b2 = [4,5,6,7,8] b3 = [val for val in b1 if val in b2] หรือ def intersect(a, b): return list(set(a) &amp; set(b)) print intersect(b1, b2) แต่เมื่อฉันต้องค้นหาทางแยกสำหรับรายการซ้อนกันปัญหาของฉันเริ่มต้น: c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, …

5
ข้อดีของ NumPy ในรายการ Python ทั่วไปคืออะไร
ข้อดีของNumPyในรายการ Python ทั่วไปคืออะไร ฉันมีซีรี่ส์ตลาดการเงินประมาณ 100 ชุดและฉันจะสร้างคิวบ์อาร์เรย์ที่มีขนาด 100x100x100 = 1 ล้านเซลล์ ฉันจะถดถอย (3 ตัวแปร) แต่ละ x ด้วยแต่ละ y และ z เพื่อเติมอาร์เรย์ด้วยข้อผิดพลาดมาตรฐาน ฉันได้ยินมาว่าสำหรับ "matrices ขนาดใหญ่" ฉันควรใช้ NumPy ซึ่งต่างจากรายการ Python สำหรับเหตุผลด้านประสิทธิภาพและความสามารถในการปรับขยายได้ สิ่งที่ฉันรู้ว่ารายการหลามและพวกเขาดูเหมือนจะทำงานให้ฉัน ฉันจะได้รับประโยชน์อะไรบ้างหากฉันย้ายไปที่ NumPy ถ้าฉันมี 1,000 ซีรี่ส์ (นั่นคือเซลล์จุดลอยตัว 1 พันล้านก้อน)

22
รับดัชนีของรายการ max หรือ mined คืนโดยใช้ max () / min () ในรายการ
ฉันใช้งูใหญ่maxและminฟังก์ชั่นในรายการสำหรับขั้นตอนวิธีการ Minimax และฉันต้องดัชนีของค่าที่ส่งกลับโดยหรือmax() min()กล่าวอีกนัยหนึ่งฉันต้องรู้ว่าการเคลื่อนไหวใดที่ทำให้เกิดค่าสูงสุด (ตามเทิร์นของผู้เล่นคนแรก) หรือค่า min (ผู้เล่นคนที่สอง) for i in range(9): newBoard = currentBoard.newBoardWithMove([i / 3, i % 3], player) if newBoard: temp = minMax(newBoard, depth + 1, not isMinLevel) values.append(temp) if isMinLevel: return min(values) else: return max(values) ฉันต้องสามารถส่งคืนดัชนีจริงของค่า min หรือ max ไม่ใช่ค่า
465 python  list  max  min 

26
วิธีลบองค์ประกอบออกจากรายการทั่วไปในขณะที่วนซ้ำมัน?
ฉันกำลังมองหารูปแบบที่ดีกว่าสำหรับการทำงานกับรายการองค์ประกอบที่ต้องดำเนินการแต่ละรายการและจากนั้นผลลัพธ์จะถูกลบออกจากรายการ คุณไม่สามารถใช้.Remove(element)ภายในforeach (var element in X)(เพราะมันจะส่งผลในCollection was modified; enumeration operation may not execute.ข้อยกเว้น) ... คุณยังไม่สามารถใช้for (int i = 0; i &lt; elements.Count(); i++)และเพราะมันรบกวนตำแหน่งปัจจุบันของคุณในการเก็บรวบรวมเทียบกับ.RemoveAt(i)i มีวิธีที่สง่างามในการทำเช่นนี้หรือไม่?
451 c#  list  loops  generics  key-value 

19
วิธีการตรวจสอบว่าวัตถุเป็นรายการหรือ tuple (แต่ไม่ใช่สตริง)?
นี่คือสิ่งที่ผมทำตามปกติในการสั่งซื้อเพื่อให้แน่ใจว่าการป้อนข้อมูลที่เป็นlist/ tuple- strแต่ไม่ได้เป็น เพราะหลายครั้งที่ผมเจอข้อบกพร่องที่ฟังก์ชั่นผ่านstrวัตถุโดยไม่ได้ตั้งใจและฟังก์ชั่นเป้าหมายไม่for x in lstสมมติว่าlstเป็นจริงหรือlisttuple assert isinstance(lst, (list, tuple)) คำถามของฉันคือ: มีวิธีที่ดีกว่าในการบรรลุเป้าหมายนี้หรือไม่?
444 python  list  types  assert 

9
รายการ <T> คำสั่งซื้อโดยเรียงตามตัวอักษร
ฉันใช้ C # กับ Framework 3.5 List&lt;T&gt;ฉันกำลังมองหาได้อย่างรวดเร็วจัดเรียงทั่วไป เพื่อประโยชน์ของตัวอย่างนี้สมมติว่าฉันมีรายการPersonประเภทที่มีคุณสมบัติของนามสกุล ฉันจะเรียงลำดับรายการนี้โดยใช้การแสดงออกแลมบ์ดาได้อย่างไร List&lt;Person&gt; people = PopulateList(); people.OrderBy(???? =&gt; ?????)
442 c#  generics  list  lambda  sorting 

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



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