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

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

12
แปลงวัตถุโมเดล Django เป็น dict โดยมีทุกฟิลด์เหมือนเดิม
หนึ่งในวิธีการที่ไม่แปลงวัตถุ Django รูปแบบการ Dict ที่มีทั้งหมดของเขตของตนหรือไม่ editable=Falseทั้งหมดนึกคิดรวมถึงปุ่มต่างประเทศและเขตข้อมูลที่มี ให้ฉันทำอย่างละเอียด สมมติว่าฉันมีรุ่น Django ดังต่อไปนี้: from django.db import models class OtherModel(models.Model): pass class SomeModel(models.Model): normal_value = models.IntegerField() readonly_value = models.IntegerField(editable=False) auto_now_add = models.DateTimeField(auto_now_add=True) foreign_key = models.ForeignKey(OtherModel, related_name="ref1") many_to_many = models.ManyToManyField(OtherModel, related_name="ref2") ในเทอร์มินัลฉันได้ทำสิ่งต่อไปนี้แล้ว: other_model = OtherModel() other_model.save() instance = SomeModel() instance.normal_value = 1 instance.readonly_value = 2 …

24
คีย์ที่ซ้ำกันในพจนานุกรม. NET
มีคลาสพจนานุกรมในไลบรารีคลาสฐาน. NET ซึ่งอนุญาตให้ใช้คีย์ที่ซ้ำกันหรือไม่ ทางออกเดียวที่ฉันพบคือการสร้างตัวอย่างเช่นชั้นเรียน: Dictionary<string, List<object>> แต่มันค่อนข้างน่ารำคาญที่จะใช้งานจริง ใน Java ฉันเชื่อว่า MultiMap ทำสิ่งนี้ได้ แต่ไม่สามารถหา analog ใน. NET
256 c#  .net  dictionary  multimap 

12
อาร์เรย์จากปุ่มพจนานุกรมอย่างรวดเร็ว
พยายามเติมอาเรย์ด้วยสตริงจากกุญแจในพจนานุกรมอย่างรวดเร็ว var componentArray: [String] let dict = NSDictionary(contentsOfFile: NSBundle.mainBundle().pathForResource("Components", ofType: "plist")!) componentArray = dict.allKeys ส่งกลับข้อผิดพลาดของ: 'AnyObject' ไม่เหมือนกับสตริง ยังพยายาม componentArray = dict.allKeys as String แต่รับ: 'String' ไม่สามารถแปลงเป็น [String]
256 ios  arrays  xcode  dictionary  swift 

10
แผนที่ / แคชตามเวลาของ Java พร้อมปุ่มหมดอายุ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีใครบ้างที่รู้เกี่ยวกับ Java Map หรือแหล่งข้อมูลมาตรฐานที่คล้ายกันซึ่งจะทำการลบข้อมูลโดยอัตโนมัติหลังจากหมดเวลาที่กำหนด นี่หมายถึงความแก่ชราที่ซึ่งรายการเก่า ๆ นั้น“ หมดอายุ” โดยอัตโนมัติ โดยเฉพาะอย่างยิ่งในห้องสมุดโอเพนซอร์สที่สามารถเข้าถึงได้ผ่าน Maven? ฉันรู้วิธีที่จะใช้งานฟังก์ชั่นของตัวเองและเคยทำมาแล้วหลายครั้งในอดีตดังนั้นฉันจึงไม่ขอคำแนะนำในแง่นั้น แต่เพื่อเป็นแนวทางสำหรับการอ้างอิงที่ดี โซลูชันที่ใช้WeakReferenceเช่นWeakHashMapไม่ใช่ตัวเลือกเนื่องจากคีย์ของฉันน่าจะเป็นสตริงที่ไม่ได้อยู่ภายในและฉันต้องการหมดเวลาที่กำหนดได้ซึ่งไม่ได้ขึ้นอยู่กับตัวรวบรวมขยะ Ehcacheเป็นตัวเลือกที่ฉันไม่ต้องการพึ่งพาเนื่องจากต้องการไฟล์การกำหนดค่าภายนอก ฉันกำลังมองหาโซลูชันที่ใช้รหัสเท่านั้น
253 java  caching  dictionary 

10
มีประสิทธิภาพมากขึ้นคืออะไร: พจนานุกรม TryGetValue หรือมีคีย์ + รายการ
จากรายการของ MSDN ในDictionary.TryGetValue วิธีการ : วิธีนี้รวมการทำงานของวิธีการที่มีKeyKeyและคุณสมบัติของรายการ หากไม่พบคีย์จากนั้นพารามิเตอร์ค่าจะได้รับค่าเริ่มต้นที่เหมาะสมสำหรับประเภทค่า TValue; ตัวอย่างเช่น 0 (ศูนย์) สำหรับประเภทจำนวนเต็ม false สำหรับประเภทบูลีนและ null สำหรับประเภทอ้างอิง ใช้วิธี TryGetValue หากรหัสของคุณพยายามเข้าถึงคีย์ที่ไม่ได้อยู่ในพจนานุกรมบ่อยครั้ง การใช้วิธีนี้มีประสิทธิภาพมากกว่าการจับ KeyNotFoundException ที่ส่งออกมาโดยคุณสมบัติ Item วิธีนี้ใช้วิธีการ O (1) จากคำอธิบายมันไม่ชัดเจนว่ามันมีประสิทธิภาพมากขึ้นหรือสะดวกกว่าการโทรไปที่ containKey แล้วทำการค้นหา การใช้งานTryGetValueเพียงแค่เรียกประกอบด้วย Keyk และจากนั้นรายการหรือจริง ๆ แล้วมีประสิทธิภาพมากกว่านั้นโดยทำการค้นหาเดียว? กล่าวอีกนัยหนึ่งคืออะไรมีประสิทธิภาพมากขึ้น (เช่นที่หนึ่งทำการค้นหาน้อยกว่า): Dictionary<int,int> dict; //...// int ival; if(dict.ContainsKey(ikey)) { ival = dict[ikey]; } else { ival …

6
วิธีเริ่มต้น dict ด้วยคีย์จากรายการและค่าว่างใน Python
ฉันต้องการได้รับจากสิ่งนี้: keys = [1,2,3] สำหรับสิ่งนี้: {1: None, 2: None, 3: None} มีวิธี pythonic ทำมันได้หรือไม่ นี่เป็นวิธีที่น่าเกลียดที่จะทำ: >>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None}
251 dictionary  python 

6
วิธีตรวจสอบว่ามีค่าอยู่ในพจนานุกรม (หลาม) หรือไม่
ฉันมีพจนานุกรมต่อไปนี้ในหลาม: d = {'1': 'one', '3': 'three', '2': 'two', '5': 'five', '4': 'four'} ฉันต้องการวิธีค้นหาว่ามีค่าเช่น "หนึ่ง" หรือ "สอง" อยู่ในพจนานุกรมนี้หรือไม่ ตัวอย่างเช่นหากฉันต้องการทราบว่ามีดัชนี "1" อยู่หรือไม่ฉันจะต้องพิมพ์: "1" in d แล้วหลามก็จะบอกฉันว่ามันเป็นเรื่องจริงหรือเท็จ แต่ฉันต้องทำสิ่งที่แน่นอนแบบเดียวกันยกเว้นเพื่อค้นหาว่ามีค่าอยู่หรือไม่
251 python  dictionary  find 

6
ประกาศและเริ่มต้นพจนานุกรมใน typescript
รับรหัสต่อไปนี้ interface IPerson { firstName: string; lastName: string; } var persons: { [id: string]: IPerson; } = { "p1": { firstName: "F1", lastName: "L1" }, "p2": { firstName: "F2" } }; ทำไมการเริ่มต้นไม่ถูกปฏิเสธ ท้ายที่สุดวัตถุที่สองไม่มีคุณสมบัติ "นามสกุล"

17
วิธีการดึงกุญแจทั้งหมด (หรือค่า) จาก std :: map และวางลงในเวคเตอร์?
นี่เป็นวิธีหนึ่งที่ฉันสามารถทำได้: struct RetrieveKey { template <typename T> typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map<int, int> m; vector<int> keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n")); แน่นอนว่าเราสามารถดึงค่าทั้งหมดออกจากแผนที่ได้ด้วยการกำหนด functor RetrieveValuesอีกค่า มีวิธีอื่นในการบรรลุเป้าหมายนี้อย่างง่ายดายหรือไม่? (ฉันสงสัยอยู่เสมอว่าทำไม std :: map ไม่รวมฟังก์ชั่นสมาชิกเพื่อให้เราทำเช่นนั้น)
246 c++  dictionary  stl  stdmap 

26
เปรียบเทียบสองพจนานุกรมและตรวจสอบว่ามีกี่คู่ (คีย์ค่า) เท่ากัน
ฉันมีพจนานุกรมสองเล่ม แต่เพื่อความสะดวกฉันจะใช้สองสิ่งนี้: >>> x = dict(a=1, b=2) >>> y = dict(a=2, b=2) ตอนนี้ฉันต้องการเปรียบเทียบว่าแต่ละkey, valueคู่ในxมีค่าที่สอดคล้องกันyหรือไม่ ดังนั้นฉันจึงเขียนสิ่งนี้: >>> for x_values, y_values in zip(x.iteritems(), y.iteritems()): if x_values == y_values: print 'Ok', x_values, y_values else: print 'Not', x_values, y_values และใช้งานได้เนื่องจาก a tupleถูกส่งคืนแล้วเปรียบเทียบเพื่อความเท่าเทียมกัน คำถามของฉัน: ถูกต้องหรือไม่ มีวิธีที่ดีกว่าในการทำเช่นนี้? ไม่ดีกว่าความเร็วฉันกำลังพูดถึงความสง่างามของรหัส UPDATE: ฉันลืมที่จะพูดถึงว่าฉันต้องตรวจสอบว่ามีกี่key, valueคู่เท่ากัน

3
การเข้าถึงแบบคำนึงถึงขนาดตัวพิมพ์เล็กและใหญ่สำหรับพจนานุกรมทั่วไป
ฉันมีแอปพลิเคชันที่ใช้ Dll ที่ได้รับการจัดการ หนึ่งใน Dll เหล่านั้นส่งคืนพจนานุกรมทั่วไป: Dictionary<string, int> MyDictionary; พจนานุกรมประกอบด้วยปุ่มที่มีตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ในอีกด้านหนึ่งฉันได้รับรายการของคีย์ที่อาจเกิดขึ้น (สตริง) แต่ฉันไม่สามารถรับประกันกรณี ฉันพยายามรับค่าในพจนานุกรมโดยใช้ปุ่ม แต่แน่นอนว่าสิ่งต่อไปนี้จะล้มเหลวเนื่องจากฉันมีขนาดตัวพิมพ์ไม่ตรงกัน: bool Success = MyDictionary.TryGetValue( MyIndex, out TheValue ); ฉันหวังว่า TryGetValue จะมีการตั้งค่าสถานะตัวพิมพ์เล็ก - ใหญ่เหมือนที่กล่าวไว้ในเอกสาร MSDNแต่ดูเหมือนว่านี่จะไม่ถูกต้องสำหรับพจนานุกรมทั่วไป มีวิธีการรับค่าของพจนานุกรมที่ละเว้นกรณีสำคัญหรือไม่ มีวิธีแก้ปัญหาที่ดีกว่าการสร้างสำเนาใหม่ของพจนานุกรมด้วยพารามิเตอร์StringComparer.OrdinalIgnoreCaseที่เหมาะสมหรือไม่
244 c#  generics  dictionary 

7
การแม็พกับค่าในพจนานุกรมไพ ธ อน
Given พจนานุกรม{ k1: v1, k2: v2 ... }ฉันต้องการที่จะได้รับการบริการที่มีให้ฉันผ่านฟังก์ชั่น{ k1: f(v1), k2: f(v2) ... }f มีฟังก์ชั่นดังกล่าวในตัวหรือไม่? หรือฉันต้องทำ dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()]) เป็นการดีที่ฉันจะเขียน my_dictionary.map_values(f) หรือ my_dictionary.mutate_values_with(f) นั่นคือมันไม่สำคัญสำหรับฉันถ้าพจนานุกรมต้นฉบับกลายพันธุ์หรือสร้างสำเนา

9
วิธีรวมค่าทั้งหมดในพจนานุกรมได้อย่างไร
สมมติว่าฉันมีพจนานุกรมที่ปุ่มจับคู่กับจำนวนเต็มเช่น: d = {'key1': 1,'key2': 14,'key3': 47} มีวิธีการที่เรียบง่ายในการซินdแทกติกเพื่อคืนค่าผลรวมของ- 62ในกรณีนี้หรือไม่?
239 python  dictionary  hash  sum 

5
วิธีการถ่ายโอน dict ไปยังไฟล์ json?
ฉันมีพจน์แบบนี้: sample = {'ObjectInterpolator': 1629, 'PointInterpolator': 1675, 'RectangleInterpolator': 2042} ฉันไม่สามารถหาวิธีถ่ายโอน dict ไปยังjsonไฟล์ดังที่แสดงด้านล่าง { "name": "interpolator", "children": [ {"name": "ObjectInterpolator", "size": 1629}, {"name": "PointInterpolator", "size": 1675}, {"name": "RectangleInterpolator", "size": 2042} ] } มีวิธี pythonic ทำเช่นนี้? คุณอาจเดาว่าฉันต้องการสร้างd3ทรีแมป
239 python  json  dictionary 

6
วิธีแปลงคีย์แผนที่เป็นอาเรย์?
ช่วยบอกว่าฉันมีแผนที่ต่อไปนี้: let myMap = new Map().set('a', 1).set('b', 2); และฉันต้องการได้ ['a', 'b'] ตามข้างบน โซลูชันปัจจุบันของฉันดูเหมือนยาวและน่ากลัวมาก let myMap = new Map().set('a', 1).set('b', 2); let keys = []; for (let key of myMap) keys.push(key); console.log(keys); จะต้องมีวิธีที่ดีกว่าไม่ใช่เหรอ?

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