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

ในการเขียนโปรแกรม tuples คือ * ประเภทผลิตภัณฑ์ * แบบง่าย ๆ ซึ่งแสดงถึงคอลเล็กชันตามลำดับประเภท

8
เลือกรายการจากรายการหรือทูเพิลอย่างชัดเจน
ฉันมีรายการ Python ต่อไปนี้ (อาจเป็นทูเพิลก็ได้): myList = ['foo', 'bar', 'baz', 'quux'] ฉันสามารถพูด >>> myList[0:3] ['foo', 'bar', 'baz'] >>> myList[::2] ['foo', 'baz'] >>> myList[1::2] ['bar', 'quux'] ฉันจะเลือกรายการที่ดัชนีไม่มีรูปแบบเฉพาะเจาะจงได้อย่างไร [0,2,3]ตัวอย่างเช่นผมต้องการที่จะเลือก หรือจากรายการใหญ่มากของ 1000 [87, 342, 217, 998, 500]รายการฉันต้องการที่จะเลือก มีไวยากรณ์ Python บางตัวที่ทำเช่นนั้นหรือไม่? สิ่งที่ดูเหมือน: >>> myBigList[87, 342, 217, 998, 500]
121 python  list  select  indexing  tuples 

10
กฎไวยากรณ์สำหรับการมีเครื่องหมายจุลภาคต่อท้ายในคำจำกัดความทูเพิลคืออะไร?
ในกรณีของทูเปิลองค์ประกอบเดียวจำเป็นต้องใช้เครื่องหมายจุลภาคต่อท้าย a = ('foo',) สิ่งที่เกี่ยวกับทูเปิลที่มีหลายองค์ประกอบ? ดูเหมือนว่าไม่ว่าจะมีเครื่องหมายจุลภาคต่อท้ายหรือไม่ทั้งคู่ก็ใช้ได้ ถูกต้องหรือไม่ การมีเครื่องหมายจุลภาคต่อท้ายนั้นง่ายกว่าสำหรับการแก้ไขในความคิดของฉัน เป็นรูปแบบการเข้ารหัสที่ไม่ดีหรือไม่? a = ('foo1', 'foo2') b = ('foo1', 'foo2',)
121 python  syntax  tuples 

2
std :: tie ทำงานอย่างไร?
ฉันใช้std::tieโดยไม่ต้องคิดมากกับมัน มันใช้งานได้ดังนั้นฉันจึงยอมรับว่า: auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } แต่มนต์ดำนี้ทำงานอย่างไร? ชั่วคราวสร้างขึ้นโดยstd::tieการเปลี่ยนแปลงอย่างไรaและb? ฉันพบว่าสิ่งนี้น่าสนใจมากขึ้นเนื่องจากเป็นคุณลักษณะของไลบรารีไม่ใช่คุณลักษณะด้านภาษาดังนั้นจึงเป็นสิ่งที่เราสามารถนำไปใช้ได้ด้วยตนเองและเข้าใจ
120 c++  c++11  tuples 

3
ความหมายของ“ (1,) == 1 ใน Python คืออะไร?
ฉันกำลังทดสอบโครงสร้างทูเพิลและฉันพบว่ามันแปลกเมื่อฉันใช้ตัว==ดำเนินการเช่น: >>> (1,) == 1, Out: (False,) เมื่อฉันกำหนดสองนิพจน์นี้ให้กับตัวแปรผลลัพธ์จะเป็นจริง: >>> a = (1,) >>> b = 1, >>> a==b Out: True คำถามนี้แตกต่างจากกฎไวยากรณ์ของคอมมาของPython tupleในมุมมองของฉัน ฉันถามกลุ่มของนิพจน์ระหว่าง==ตัวดำเนินการ

6
ทำไมใน Python จึง“ 0, 0 == (0, 0)” เท่ากับ“ (0, False)”
ใน Python (ฉันตรวจสอบด้วย Python 3.6 เท่านั้น แต่ฉันเชื่อว่ามันควรจะเก็บไว้สำหรับเวอร์ชันก่อนหน้านี้ด้วย): (0, 0) == 0, 0 # results in a two element tuple: (False, 0) 0, 0 == (0, 0) # results in a two element tuple: (0, False) (0, 0) == (0, 0) # results in a boolean True แต่: a = 0, …

3
ประเภทข้อมูล Pair / tuple ใน Go
ในขณะที่ออกกำลังกายครั้งสุดท้ายของ Tour of Goฉันตัดสินใจว่าฉันต้องการคิวคู่( string, int) ง่ายพอ: type job struct { url string depth int } queue := make(chan job) queue <- job{url, depth} แต่สิ่งนี้ทำให้ฉันคิด: มีประเภทข้อมูลคู่ / ทูเปิลในตัวใน Go หรือไม่? มีการสนับสนุนสำหรับการส่งคืนค่าหลายค่าจากฟังก์ชัน แต่ AFAICT สิ่งที่มีค่าหลายค่าที่สร้างขึ้นไม่ใช่พลเมืองชั้นหนึ่งในระบบประเภทของ Go เป็นอย่างนั้นหรือ? สำหรับส่วน "คุณได้ลองอะไรบ้าง" ไวยากรณ์ที่ชัดเจน (จาก POV ของโปรแกรมเมอร์ Python) queue := make(chan (string, int)) ไม่ได้ผล
118 go  tuples 

7
จะแยกองค์ประกอบที่ n ออกจากรายการสิ่งที่เพิ่มขึ้นได้อย่างไร?
ฉันกำลังพยายามหาองค์ประกอบที่ n จากรายการสิ่งที่เพิ่มขึ้น ฉันมีสิ่งที่ชอบ: elements = [(1,1,1),(2,3,7),(3,5,10)] ฉันต้องการแยกเฉพาะองค์ประกอบที่สองของแต่ละทูเปิลลงในรายการ: seconds = [1, 3, 5] ฉันรู้ว่ามันสามารถทำได้ด้วยการforวนซ้ำ แต่ฉันอยากรู้ว่ามีวิธีอื่นหรือไม่เนื่องจากฉันมีตัวทับหลายพันตัว
112 python  list  tuples 

4
รายการ tuples ในพจนานุกรม
นี่คือวิธีที่ฉันกำลังแปลงรายการ tuples เป็นพจนานุกรมใน Python: l = [('a',1),('b',2)] h = {} [h.update({k:v}) for k,v in l] > [None, None] h > {'a': 1, 'b': 2} มีวิธีที่ดีกว่า? ดูเหมือนว่าควรมีซับเดียวสำหรับทำสิ่งนี้

7
วิธีการแปลงรายการ tuples เป็นหลายรายการ?
สมมติว่าฉันมีรายการสิ่งที่เพิ่มขึ้นและฉันต้องการแปลงเป็นหลายรายการ ตัวอย่างเช่นรายการทูเปิลคือ [(1,2),(3,4),(5,6),] มีฟังก์ชันในตัวใน Python ที่แปลงเป็น: [1,3,5],[2,4,6] ซึ่งอาจเป็นโปรแกรมง่ายๆ แต่ฉันแค่อยากรู้เกี่ยวกับการมีอยู่ของฟังก์ชันในตัวใน Python
111 python  list  tuples 

8
ทูเปิล (หรืออาร์เรย์) เป็นปุ่มพจนานุกรมใน C #
ฉันกำลังพยายามสร้างตารางค้นหาพจนานุกรมใน C # ฉันต้องการแก้ไขค่า 3 ทูเพิลเป็นสตริงเดียว ฉันลองใช้อาร์เรย์เป็นคีย์ แต่ก็ไม่ได้ผลและฉันไม่รู้จะทำอะไรอีก ณ จุดนี้ฉันกำลังพิจารณาทำ Dictionary of Dictionaries of Dictionaries แต่มันอาจจะดูไม่สวยเท่าไหร่นักแม้ว่าฉันจะทำมันในจาวาสคริปต์ก็ตาม

6
Python: รายการของ dict หากมีอยู่แล้วให้เพิ่มค่า dict หากไม่มีการต่อท้าย dict ใหม่
ฉันอยากทำอะไรแบบนั้น list_of_urls = ['http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.cn/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.cn/'] urls = [{'url': 'http://www.google.fr/', 'nbr': 1}] for url in list_of_urls: if url in [f['url'] for f in urls]: urls[??]['nbr'] += 1 else: urls.append({'url': url, 'nbr': 1}) ฉันจะทำอย่างไร? ฉันไม่รู้ว่าควรเอาทูเพิลไปแก้ไขหรือหาดัชนีทูเปิลดี ความช่วยเหลือใด ๆ
107 python  loops  list  tuples 

11
เหตุใดฉันจึงไม่สามารถใช้รายการเป็นคีย์ dict ใน python ได้
ฉันสับสนเล็กน้อยเกี่ยวกับสิ่งที่สามารถ / ไม่สามารถใช้เป็นคีย์สำหรับ python dict dicked = {} dicked[None] = 'foo' # None ok dicked[(1,3)] = 'baz' # tuple ok import sys dicked[sys] = 'bar' # wow, even a module is ok ! dicked[(1,[3])] = 'qux' # oops, not allowed ทูเปิลจึงเป็นประเภทที่ไม่เปลี่ยนรูป แต่ถ้าฉันซ่อนรายการไว้ข้างในมันก็จะไม่เป็นกุญแจ .. ฉันจะซ่อนรายการภายในโมดูลได้ไม่ยากหรือ? ฉันมีความคิดที่คลุมเครือว่ากุญแจนั้นจะต้อง "แฮชได้" แต่ฉันจะยอมรับความไม่รู้ของตัวเองเกี่ยวกับรายละเอียดทางเทคนิค ฉันไม่รู้ว่าเกิดอะไรขึ้นที่นี่ จะเกิดอะไรขึ้นถ้าคุณพยายามใช้รายการเป็นคีย์โดยมีแฮชเป็นพูดตำแหน่งหน่วยความจำของพวกเขา

13
การกำหนดตัวแปร JavaScript จาก tuples
ในภาษาอื่น ๆ เช่น Python 2 และ Python 3 คุณสามารถกำหนดและกำหนดค่าให้กับตัวแปรทูเปิลและเรียกดูค่าได้ดังนี้: tuple = ("Bob", 24) name, age = tuple print(name) #name evaluates to Bob print(age) #age evaluates to 24 มีอะไรที่คล้ายกันใน JavaScript หรือไม่? หรือฉันต้องทำแบบที่น่าเกลียดด้วยอาร์เรย์: tuple = ["Bob", 24] name = tuple[0] //name Evaluates to Bob age = tuple[1] //age Evaluates to 24 มีวิธีที่ดีกว่าในการจำลอง …

8
Python: Tuples / พจนานุกรมเป็นคีย์เลือกจัดเรียง
สมมติว่าฉันมีผลไม้หลายสีเช่นกล้วยสีฟ้า 24 ลูกแอปเปิ้ลเขียว 12 ลูกสตรอเบอร์รี่สีน้ำเงิน 0 ลูกเป็นต้น ฉันต้องการจัดระเบียบในโครงสร้างข้อมูลใน Python ที่ช่วยให้เลือกและจัดเรียงได้ง่าย ความคิดของฉันคือการใส่สิ่งเหล่านี้ลงในพจนานุกรมที่มีทูเปิลเป็นกุญแจสำคัญเช่น { ('banana', 'blue' ): 24, ('apple', 'green'): 12, ('strawberry','blue' ): 0, # ... } หรือแม้แต่พจนานุกรมเช่น { {'fruit': 'banana', 'color': 'blue' }: 24, {'fruit': 'apple', 'color': 'green'}: 12, {'fruit': 'strawberry','color': 'blue' }: 0, # ... } ฉันต้องการเรียกดูรายการผลไม้สีฟ้าทั้งหมดหรือกล้วยทุกสีหรือจัดเรียงพจนานุกรมตามชื่อผลไม้ มีวิธีทำอย่างไรให้สะอาด? อาจเป็นไปได้ว่าพจนานุกรมที่มีทูเปิลเป็นคีย์ไม่ใช่วิธีที่เหมาะสมในการจัดการกับสถานการณ์นี้ ข้อเสนอแนะทั้งหมดยินดีต้อนรับ!

4
เหตุใดสิ่งที่เพิ่มขึ้นจึงใช้พื้นที่ในหน่วยความจำน้อยกว่ารายการ
A tupleใช้พื้นที่หน่วยความจำน้อยลงใน Python: >>> a = (1,2,3) >>> a.__sizeof__() 48 ในขณะที่lists ใช้พื้นที่หน่วยความจำมากกว่า: >>> b = [1,2,3] >>> b.__sizeof__() 64 เกิดอะไรขึ้นภายในการจัดการหน่วยความจำ Python

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