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

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

18
วิธีการลบองค์ประกอบจากรายการโดยดัชนี
ฉันจะลบองค์ประกอบออกจากรายการตามดัชนีใน Python ได้อย่างไร ฉันพบlist.removeวิธีการแล้ว แต่บอกว่าฉันต้องการลบองค์ประกอบสุดท้ายฉันจะทำสิ่งนี้ได้อย่างไร ดูเหมือนว่าการลบเริ่มต้นจะค้นหารายการ แต่ฉันไม่ต้องการให้ทำการค้นหาใด ๆ
1505 python  list 

27
ทำไมไม่สืบทอดจากรายการ <T>
เมื่อวางแผนโปรแกรมของฉันฉันมักจะเริ่มต้นด้วยความคิดอย่าง: ทีมฟุตบอลเป็นเพียงรายชื่อผู้เล่นฟุตบอล ดังนั้นฉันควรเป็นตัวแทนด้วย: var football_team = new List&lt;FootballPlayer&gt;(); การเรียงลำดับของรายการนี้แสดงถึงลำดับที่ผู้เล่นแสดงไว้ในบัญชีรายชื่อ แต่ฉันตระหนักในภายหลังว่าทีมยังมีคุณสมบัติอื่น ๆ นอกเหนือจากรายชื่อผู้เล่นที่ต้องบันทึกไว้ ตัวอย่างเช่นคะแนนรวมที่ดำเนินการอยู่ในฤดูกาลนี้งบประมาณปัจจุบันสีสม่ำเสมอstringชื่อตัวแทนของทีม ฯลฯ ดังนั้นฉันคิดว่า: โอเคทีมฟุตบอลก็เหมือนกับรายการของผู้เล่น แต่นอกจากนี้ยังมีชื่อ (a string) และคะแนนรวมทั้งหมด (an int) .NET ไม่มีคลาสสำหรับเก็บทีมฟุตบอลดังนั้นฉันจะสร้างคลาสของตัวเอง โครงสร้างที่มีอยู่ที่คล้ายกันและเกี่ยวข้องมากที่สุดคือList&lt;FootballPlayer&gt;ดังนั้นฉันจะสืบทอดจากมัน: class FootballTeam : List&lt;FootballPlayer&gt; { public string TeamName; public int RunningTotal } แต่มันกลับกลายเป็นว่าแนวทางในการพูดว่าคุณไม่ควรสืบทอดมาจาก List&lt;T&gt;ฉันสับสนอย่างละเอียดโดยแนวทางนี้สองประการ ทำไมจะไม่ล่ะ? เห็นได้ชัดว่ามีการเพิ่มประสิทธิภาพอย่างใดเพื่อให้ได้ประสิทธิภาพList งั้นเหรอ ฉันจะทำให้เกิดปัญหาประสิทธิภาพการทำงานถ้าฉันขยายList? จะเกิดอะไรขึ้น เหตุผลที่ผมเคยเห็นก็คือการที่Listให้บริการโดยไมโครซอฟท์และผมสามารถควบคุมมันไม่ได้ดังนั้นฉันไม่สามารถเปลี่ยนได้ในภายหลังหลังจากเปิดเผย "ประชาชน API" แต่ฉันพยายามเข้าใจสิ่งนี้ API สาธารณะคืออะไรและทำไมฉันจึงควรใส่ใจ …
1398 c#  .net  list  oop  inheritance 

20
วิธีการเรียงลำดับรายการ <T> ตามคุณสมบัติในวัตถุ
ฉันได้เรียนที่เรียกว่าOrderซึ่งมีคุณสมบัติเช่นOrderId, OrderDate, และQuantity Totalฉันมีรายชื่อของOrderชั้นนี้: List&lt;Order&gt; objListOrder = new List&lt;Order&gt;(); GetOrderList(objListOrder); // fill list of orders ตอนนี้ฉันต้องการเรียงลำดับรายการตามคุณสมบัติหนึ่งของOrderวัตถุเช่นฉันต้องการเรียงลำดับตามวันที่สั่งซื้อหรือรหัสสั่งซื้อ ฉันจะทำสิ่งนี้ใน C # ได้อย่างไร
1248 c#  generics  list  sorting 



19
การแปลงอาร์เรย์เป็นลิสต์ใน Java
ฉันจะแปลงอาร์เรย์เป็นรายการใน Java ได้อย่างไร ฉันใช้Arrays.asList()แต่พฤติกรรม (และลายเซ็น) เปลี่ยนจาก Java SE 1.4.2 (เอกสารตอนนี้ในที่เก็บถาวร) เป็น8และตัวอย่างข้อมูลส่วนใหญ่ที่ฉันพบบนเว็บใช้พฤติกรรม 1.4.2 ตัวอย่างเช่น: int[] spam = new int[] { 1, 2, 3 }; Arrays.asList(spam) on 1.4.2 จะส่งคืนรายการที่มีองค์ประกอบ 1, 2, 3 on 1.5.0+ ส่งคืนรายการที่มีอาร์เรย์สแปม ในหลายกรณีมันควรจะตรวจจับได้ง่าย แต่บางครั้งมันอาจไม่มีใครสังเกตเห็น: Assert.assertTrue(Arrays.asList(spam).indexOf(4) == -1);


30
การลบรายการที่ซ้ำในรายการ
ค่อนข้างมากฉันต้องเขียนโปรแกรมเพื่อตรวจสอบว่ารายการนั้นมีรายการที่ซ้ำกันหรือไม่และหากมีการลบรายการเหล่านั้นออกและส่งคืนรายการใหม่ด้วยรายการที่ไม่ซ้ำ / ลบออก นี่คือสิ่งที่ฉันมี แต่พูดตามตรงฉันไม่รู้จะทำอย่างไร def remove_duplicates(): t = ['a', 'b', 'c', 'd'] t2 = ['a', 'c', 'd'] for t in t2: t.append(t.remove()) return t

21
มีวิธีง่าย ๆ ในการลบองค์ประกอบรายการตามค่าหรือไม่
a = [1, 2, 3, 4] b = a.index(6) del a[b] print(a) ด้านบนแสดงข้อผิดพลาดต่อไปนี้: Traceback (most recent call last): File "D:\zjm_code\a.py", line 6, in &lt;module&gt; b = a.index(6) ValueError: list.index(x): x not in list ดังนั้นฉันต้องทำสิ่งนี้: a = [1, 2, 3, 4] try: b = a.index(6) del a[b] except: pass print(a) แต่ไม่มีวิธีที่ง่ายกว่านี้หรือไม่
942 python  list 

11
ความแตกต่างระหว่าง del, remove และ pop on list
&gt;&gt;&gt; a=[1,2,3] &gt;&gt;&gt; a.remove(2) &gt;&gt;&gt; a [1, 3] &gt;&gt;&gt; a=[1,2,3] &gt;&gt;&gt; del a[1] &gt;&gt;&gt; a [1, 3] &gt;&gt;&gt; a= [1,2,3] &gt;&gt;&gt; a.pop(1) 2 &gt;&gt;&gt; a [1, 3] &gt;&gt;&gt; มีความแตกต่างระหว่างสามวิธีข้างต้นในการลบองค์ประกอบออกจากรายการหรือไม่?
925 python  list 

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], "; …

14
รายการความเข้าใจกับตัวกรองแลมบ์ดา +
ฉันพบว่าตัวเองมีความจำเป็นในการกรองขั้นพื้นฐาน: ฉันมีรายการและฉันต้องกรองตามคุณลักษณะของรายการ รหัสของฉันดูเหมือนว่านี้: my_list = [x for x in my_list if x.attribute == value] แต่ฉันก็คิดว่ามันคงจะดีกว่าถ้าเขียนมันแบบนี้? my_list = filter(lambda x: x.attribute == value, my_list) สามารถอ่านได้มากขึ้นและหากจำเป็นสำหรับการแสดงแลมบ์ดาสามารถนำออกมาเพื่อรับบางสิ่งได้ คำถามคือมีคำเตือนในการใช้วิธีที่สองหรือไม่? มีความแตกต่างด้านประสิทธิภาพหรือไม่ ฉันทำ Pythonic Way ™หายไปทั้งหมดและควรทำในวิธีอื่น (เช่นใช้ itemgetter แทนที่จะเป็นแลมบ์ดา) หรือไม่?

14
วิธีที่เร็วที่สุดในการตรวจสอบว่ามีค่าอยู่ในรายการหรือไม่
วิธีที่เร็วที่สุดที่จะทราบว่ามีค่าอยู่ในรายการ (รายการที่มีค่าหลายล้านค่าอยู่ในรายการ) และดัชนีคืออะไร ฉันรู้ว่าค่าทั้งหมดในรายการไม่เหมือนกันในตัวอย่างนี้ วิธีแรกที่ฉันลองใช้คือ (3.8 วินาทีในรหัสจริงของฉัน): a = [4,2,3,1,5,6] if a.count(7) == 1: b=a.index(7) "Do something with variable b" วิธีที่สองที่ฉันลองคือ (2x เร็วกว่า: 1.9 วินาทีสำหรับรหัสจริงของฉัน): a = [4,2,3,1,5,6] try: b=a.index(7) except ValueError: "Do nothing" else: "Do something with variable b" วิธีการที่เสนอจากผู้ใช้ Stack Overflow (2.74 วินาทีสำหรับรหัสจริงของฉัน): a = [4,2,3,1,5,6] if 7 …
816 python  performance  list 

27
รับความแตกต่างระหว่างสองรายการ
ฉันมีสองรายการใน Python ดังนี้: temp1 = ['One', 'Two', 'Three', 'Four'] temp2 = ['One', 'Two'] ฉันต้องการสร้างรายการที่สามด้วยรายการจากรายการแรกที่ไม่มีอยู่ในรายการที่สอง จากตัวอย่างฉันต้องได้รับ: temp3 = ['Three', 'Four'] มีวิธีใดที่รวดเร็วโดยไม่มีวงจรและการตรวจสอบหรือไม่?

8
วิธีการจัดเรียงรายการวัตถุตามคุณลักษณะของวัตถุ?
ฉันมีรายการของวัตถุ Python ที่ฉันต้องการเรียงลำดับตามคุณสมบัติของวัตถุนั้น ๆ รายการดูเหมือนว่า: &gt;&gt;&gt; ut [&lt;Tag: 128&gt;, &lt;Tag: 2008&gt;, &lt;Tag: &lt;&gt;, &lt;Tag: actionscript&gt;, &lt;Tag: addresses&gt;, &lt;Tag: aes&gt;, &lt;Tag: ajax&gt; ...] แต่ละวัตถุมีจำนวน: &gt;&gt;&gt; ut[1].count 1L ฉันต้องการเรียงลำดับรายการตามจำนวนการนับจากมากไปน้อย ฉันได้เห็นวิธีการหลายอย่างนี้แล้ว แต่ฉันกำลังมองหาแนวปฏิบัติที่ดีที่สุดใน Python
804 python  list  sorting  oop  count 

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