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

พจนานุกรมจับคู่คีย์กับค่าที่ช่วยให้สามารถเรียกคืนค่าจากคีย์ได้อย่างมีประสิทธิภาพ ใช้งานแท็ก [ฟังก์ชั่นแผนที่] เกี่ยวกับฟังก์ชั่นการทำแผนที่ข้อมูล, โปรด; และสำหรับภูมิศาสตร์ [แผนที่]

6
หลายระดับของ 'collection.defaultdict' ใน Python
ขอบคุณกลุ่มผู้ใช้ที่ยอดเยี่ยมใน SO ฉันได้ค้นพบความเป็นไปได้ที่มีให้โดยcollections.defaultdictเฉพาะอย่างยิ่งในการอ่านและความเร็ว ฉันทำให้พวกเขาใช้กับความสำเร็จ ตอนนี้ฉันต้องการที่จะใช้สามระดับของพจนานุกรมสองคนด้านบนถูกและต่ำสุดเป็นหนึ่งdefaultdict intฉันไม่พบวิธีที่เหมาะสมในการทำเช่นนี้ นี่คือความพยายามของฉัน: from collections import defaultdict d = defaultdict(defaultdict) a = [("key1", {"a1":22, "a2":33}), ("key2", {"a1":32, "a2":55}), ("key3", {"a1":43, "a2":44})] for i in a: d[i[0]] = i[1] ตอนนี้ใช้งานได้ แต่สิ่งต่อไปนี้ซึ่งเป็นพฤติกรรมที่ต้องการไม่ได้: d["key4"]["a1"] + 1 ฉันสงสัยว่าฉันควรจะประกาศที่ไหนสักแห่งว่าระดับที่สองdefaultdictเป็นประเภทintแต่ฉันไม่พบว่าจะทำที่ไหนหรืออย่างไร เหตุผลที่ฉันใช้defaultdictในตอนแรกคือการหลีกเลี่ยงการเริ่มต้นพจนานุกรมสำหรับแต่ละคีย์ใหม่ ข้อเสนอแนะใด ๆ ที่สง่างามมากขึ้น? ขอบคุณ pythoneers!

4
วนรอบแผนที่ใน Groovy หรือไม่
ฉันมีงานง่าย ๆ ที่ฉันพยายามทำใน Groovy แต่ดูเหมือนจะไม่สามารถใช้งานได้ ฉันแค่พยายามวนลูปผ่านวัตถุแผนที่เป็น Groovy และพิมพ์รหัสและค่าออกมา แต่รหัสนี้ใช้ไม่ได้ // A simple map def map = [ iPhone : 'iWebOS', Android: '2.3.3', Nokia : 'Symbian', Windows: 'WM8' ] // Print the values for (s in map) { println s + ": " + map[s] } ฉันกำลังพยายามให้ได้ผลลัพธ์เช่นนี้: iPhone: iWebOS Android: 2.3.3 …
175 dictionary  groovy 

10
ฉันจะพิมพ์คู่ค่าคีย์ของพจนานุกรมในไพ ธ อนได้อย่างไร
ฉันต้องการส่งออกคู่ค่าคีย์ของฉันจากพจนานุกรมไพ ธ อนเช่น: key1 \t value1 key2 \t value2 ฉันคิดว่าฉันสามารถทำสิ่งนี้ได้: for i in d: print d.keys(i), d.values(i) แต่เห็นได้ชัดว่าไม่ใช่ว่ามันจะเป็นอย่างไรkeys()และvalues()อย่าทะเลาะกัน
175 python  dictionary 

2
สร้างพจนานุกรมขึ้นใหม่จาก IEnumerable <KeyValuePair <>>
ฉันมีวิธีการที่คืนค่าIEnumerable&lt;KeyValuePair&lt;string, ArrayList&gt;&gt;แต่ผู้โทรบางรายต้องการผลลัพธ์ของวิธีการเป็นพจนานุกรม ฉันจะแปลงIEnumerable&lt;KeyValuePair&lt;string, ArrayList&gt;&gt;เป็นDictionary&lt;string, ArrayList&gt;สิ่งที่ฉันสามารถใช้ได้TryGetValueอย่างไร? วิธี: public IEnumerable&lt;KeyValuePair&lt;string, ArrayList&gt;&gt; GetComponents() { // ... yield return new KeyValuePair&lt;string, ArrayList&gt;(t.Name, controlInformation); } โทร: Dictionary&lt;string, ArrayList&gt; actual = target.GetComponents(); actual.ContainsKey("something");

28
คุณจะเพิ่มพจนานุกรมของรายการลงในพจนานุกรมอื่นได้อย่างไร
อาร์เรย์ใน Swift สนับสนุนตัวดำเนินการ + = เพื่อเพิ่มเนื้อหาของ Array หนึ่งไปยังอีก มีวิธีง่ายๆในการทำเช่นนั้นสำหรับพจนานุกรมหรือไม่? เช่น: var dict1 = ["a" : "foo"] var dict2 = ["b" : "bar"] var combinedDict = ... (some way of combining dict1 &amp; dict2 without looping)
172 dictionary  swift 


21
คำนวณความแตกต่างในคีย์ที่มีอยู่ในพจนานุกรม Python สองพจนานุกรม
สมมติว่าฉันมีสองพจนานุกรมหลาม - และdictA dictBฉันต้องการตรวจสอบว่ามีกุญแจใดบ้างที่อยู่ข้างในหรือdictBไม่dictAแต่ไม่ได้อยู่ในวิธีที่เร็วที่สุดที่จะไปเกี่ยวกับมันคืออะไร? ฉันควรแปลงคีย์พจนานุกรมเป็นชุดและดำเนินการต่อไปหรือไม่ สนใจที่จะรู้ความคิดของคุณ ... ขอบคุณสำหรับคำตอบของคุณ ขออภัยที่ไม่ได้ระบุคำถามของฉันอย่างถูกต้อง สถานการณ์ของฉันเป็นเช่นนี้ - ฉันมีdictAที่สามารถเหมือนกันdictBหรืออาจมีบางคีย์ที่ขาดหายไปเมื่อเทียบกับdictBหรืออื่น ๆ ค่าของคีย์บางอย่างอาจแตกต่างกันซึ่งจะต้องมีการตั้งค่าที่dictAเป็นมูลค่าของคีย์ ปัญหาคือพจนานุกรมไม่มีมาตรฐานและสามารถมีค่าที่สามารถเขียนตามคำบอก พูด dictA={'key1':a, 'key2':b, 'key3':{'key11':cc, 'key12':dd}, 'key4':{'key111':{....}}} dictB={'key1':a, 'key2:':newb, 'key3':{'key11':cc, 'key12':newdd, 'key13':ee}....... ดังนั้นจึงต้องรีเซ็ตค่า 'key2' เป็นค่าใหม่และต้องเพิ่ม 'key13' ภายใน dict ค่าคีย์ไม่มีรูปแบบคงที่ มันอาจเป็นค่าอย่างง่ายหรือ dict หรือ dict ของ dict
171 python  dictionary 

6
วิธีแปลง List เป็น Map ใน Kotlin
ตัวอย่างเช่นฉันมีรายการสตริงเช่น: val list = listOf("a", "b", "c", "d") และฉันต้องการแปลงเป็นแผนที่โดยที่สตริงเป็นกุญแจ ฉันรู้ว่าฉันควรใช้.toMap()ฟังก์ชั่นนี้ แต่ฉันไม่รู้ว่าทำอย่างไรและฉันไม่ได้เห็นตัวอย่างของมัน
169 dictionary  kotlin 

7
แปลง Panda DataFrame เป็นพจนานุกรม
ฉันมี DataFrame สี่คอลัมน์ ฉันต้องการแปลง DataFrame นี้เป็นพจนานุกรมหลาม ฉันต้องการองค์ประกอบของคอลัมน์แรกจะเป็นkeysและองค์ประกอบของคอลัมน์อื่น ๆ ในปี valuesพ.ศ. DataFrame: ID A B C 0 p 1 3 2 1 q 4 3 2 2 r 4 0 9 ผลลัพธ์ควรเป็นดังนี้: พจนานุกรม: {'p': [1,3,2], 'q': [4,3,2], 'r': [4,0,9]}


13
วิธีพิมพ์พจนานุกรมบรรทัดต่อบรรทัดใน Python?
นี่คือพจนานุกรม cars = {'A':{'speed':70, 'color':2}, 'B':{'speed':60, 'color':3}} ใช้สิ่งนี้ for loop for keys,values in cars.items(): print(keys) print(values) มันพิมพ์ต่อไปนี้: B {'color': 3, 'speed': 60} A {'color': 2, 'speed': 70} แต่ฉันต้องการให้โปรแกรมพิมพ์แบบนี้: B color : 3 speed : 60 A color : 2 speed : 70 ฉันเพิ่งเริ่มเรียนรู้พจนานุกรมดังนั้นฉันไม่แน่ใจว่าจะทำอย่างไร

12
การแยกพจนานุกรม / รายการภายในคอลัมน์แพนด้าเป็นคอลัมน์แยก
ฉันมีข้อมูลที่บันทึกไว้ในpostgreSQLฐานข้อมูล ฉันกำลังค้นหาข้อมูลนี้โดยใช้ Python2.7 และเปลี่ยนเป็น Pandas DataFrame อย่างไรก็ตามคอลัมน์สุดท้ายของดาต้าเฟรมนี้มีพจนานุกรม (หรือรายการ?) ของค่าอยู่ภายใน DataFrame มีลักษณะดังนี้: [1] df Station ID Pollutants 8809 {"a": "46", "b": "3", "c": "12"} 8810 {"a": "36", "b": "5", "c": "8"} 8811 {"b": "2", "c": "7"} 8812 {"c": "11"} 8813 {"a": "82", "c": "15"} ฉันต้องการแยกคอลัมน์นี้ออกเป็นคอลัมน์แยกกันเพื่อให้ DataFrame มีลักษณะดังนี้: [2] df2 Station ID …

4
Pandas DataFrame ไปยังรายการพจนานุกรม
ฉันมี DataFrame ต่อไปนี้: ลูกค้ารายการ 1 รายการ 2 รายการ 3 มะเขือเทศนม 1 แอปเปิ้ล 2 น้ำมันฝรั่งสีส้ม 3 มะม่วงน้ำผลไม้ชิป ซึ่งฉันต้องการแปลให้เป็นรายการของพจนานุกรมต่อแถว rows = [{'customer': 1, 'item1': 'apple', 'item2': 'milk', 'item3': 'tomato'}, {'customer': 2, 'item1': 'water', 'item2': 'orange', 'item3': 'potato'}, {'customer': 3, 'item1': 'juice', 'item2': 'mango', 'item3': 'chips'}]

11
แปลงรายการเป็นพจนานุกรมโดยใช้ linq และไม่ต้องกังวลกับรายการซ้ำ
ฉันมีรายการวัตถุบุคคล ฉันต้องการแปลงเป็นพจนานุกรมโดยที่สำคัญคือชื่อและนามสกุล (ตัดแบ่ง) และค่าคือวัตถุบุคคล ปัญหาคือฉันมีบางคนที่ซ้ำซ้อนดังนั้นนี่จะระเบิดถ้าฉันใช้รหัสนี้: private Dictionary&lt;string, Person&gt; _people = new Dictionary&lt;string, Person&gt;(); _people = personList.ToDictionary( e =&gt; e.FirstandLastName, StringComparer.OrdinalIgnoreCase); ฉันรู้ว่ามันฟังดูแปลก แต่ตอนนี้ฉันไม่สนใจชื่อที่ซ้ำกันจริงๆ หากมีหลายชื่อฉันแค่อยากจะคว้ามันมา มีอยู่แล้วฉันสามารถเขียนรหัสนี้ด้านบนเพื่อใช้ชื่อเดียวและไม่ระเบิดซ้ำ
163 c#  linq  dictionary 

4
LINQ Group By เป็นวัตถุพจนานุกรม
ฉันพยายามใช้ LINQ เพื่อสร้าง Dictionary&lt;string, List&lt;CustomObject&gt;&gt;List&lt;CustomObject&gt;จาก ฉันสามารถใช้งานได้โดยใช้ "var" แต่ฉันไม่ต้องการใช้ประเภทที่ไม่ระบุชื่อ นี่คือสิ่งที่ฉันมี var x = (from CustomObject o in ListOfCustomObjects group o by o.PropertyName into t select t.ToList()); ฉันได้ลองใช้Cast&lt;&gt;()จากห้องสมุด LINQ เมื่อฉันมีxแต่ฉันได้รับปัญหาการรวบรวมผลของมันเป็นนักแสดงที่ไม่ถูกต้อง
161 linq  dictionary 

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