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

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

19
ConcurrentHashMap และ Collections.synchronizedMap (แผนที่) แตกต่างกันอย่างไร
ฉันมีแผนที่ซึ่งจะต้องแก้ไขหลายกระทู้พร้อมกัน ดูเหมือนจะมีการใช้งานแผนที่ที่แตกต่างกันสามแบบใน Java API: Hashtable Collections.synchronizedMap(Map) ConcurrentHashMap จากสิ่งที่ฉันเข้าใจHashtableคือการใช้งานเก่า (การขยายDictionaryคลาสล้าสมัย) ซึ่งได้รับการดัดแปลงในภายหลังเพื่อให้พอดีกับMapอินเตอร์เฟส แม้ว่าจะมีการซิงโครไนซ์ แต่ดูเหมือนว่าจะมีปัญหาเรื่องความสามารถในการปรับขนาดได้และไม่สนับสนุนโครงการใหม่ ๆ แต่แล้วอีกสองอันล่ะ? อะไรคือความแตกต่างระหว่าง Maps ที่ส่งคืนโดยCollections.synchronizedMap(Map)และConcurrentHashMaps? สิ่งที่เหมาะกับสถานการณ์ใด

11
วิธีการเชื่อมโยงอาเรย์ / hashing ใน JavaScript
ฉันต้องการเก็บสถิติบางอย่างโดยใช้ JavaScript ในแบบที่ฉันต้องการใน C #: Dictionary<string, int> statistics; statistics["Foo"] = 10; statistics["Goo"] = statistics["Goo"] + 1; statistics.Add("Zoo", 1); มีHashtableหรือสิ่งที่ชอบDictionary<TKey, TValue>ใน JavaScript? ฉันจะเก็บค่าได้อย่างไร?


30
แปลง Python ที่ซ้อนกันเป็น Dict เป็นวัตถุหรือไม่
ฉันกำลังค้นหาวิธีที่สวยงามในการรับข้อมูลโดยใช้การเข้าถึงแอตทริบิวต์ใน dict ด้วย dicts และรายการที่ซ้อนกัน (เช่นไวยากรณ์ของวัตถุสไตล์จาวาสคริปต์) ตัวอย่างเช่น: >>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]} ควรเข้าถึงได้ด้วยวิธีนี้: >>> x = dict2obj(d) >>> x.a 1 >>> x.b.c 2 >>> x.d[1].foo bar ฉันคิดว่ามันเป็นไปไม่ได้หากไม่มีการเรียกซ้ำ แต่สิ่งที่จะเป็นวิธีที่ดีในการรับสไตล์วัตถุสำหรับ dicts คืออะไร

15
collection.defaultdict ทำงานอย่างไร
ฉันได้อ่านตัวอย่างใน python docs แล้ว แต่ก็ยังไม่สามารถเข้าใจได้ว่าวิธีนี้มีความหมายอย่างไร ใครช่วยได้บ้าง นี่คือตัวอย่างสองตัวอย่างจาก python docs >>> from collections import defaultdict >>> s = 'mississippi' >>> d = defaultdict(int) >>> for k in s: ... d[k] += 1 ... >>> d.items() [('i', 4), ('p', 2), ('s', 4), ('m', 1)] และ >>> s = [('yellow', 1), ('blue', 2), …

6
วิธีที่เหมาะสมในการเริ่มต้นพจนานุกรม C # ด้วยค่า?
ฉันกำลังสร้างพจนานุกรมในไฟล์ C # ด้วยรหัสต่อไปนี้: private readonly Dictionary<string, XlFileFormat> FILE_TYPE_DICT = new Dictionary<string, XlFileFormat> { {"csv", XlFileFormat.xlCSV}, {"html", XlFileFormat.xlHtml} }; มีเส้นสีแดงภายใต้newข้อผิดพลาด: ไม่สามารถใช้คุณลักษณะ 'เครื่องมือรวบรวมข้อมูลเบื้องต้น' เนื่องจากไม่ได้เป็นส่วนหนึ่งของข้อกำหนดภาษา ISO-2 C # ใครสามารถอธิบายสิ่งที่เกิดขึ้นที่นี่ แก้ไข: เอาล่ะมันกลายเป็นว่าฉันใช้. NET version 2
513 c#  dictionary 



26
การรวมพจนานุกรมใน C #
วิธีที่ดีที่สุดในการผสานพจนานุกรม 2 หรือมากกว่าDictionary<T1,T2>ใน C # คืออะไร (คุณสมบัติ 3.0 เช่น LINQ ใช้ได้) ฉันกำลังคิดถึงวิธีการที่เป็นลายเซ็นตามบรรทัดของ: public static Dictionary<TKey,TValue> Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries); หรือ public static Dictionary<TKey,TValue> Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries); แก้ไข:มีวิธีแก้ปัญหาที่ยอดเยี่ยมจาก JaredPar และ Jon Skeet แต่ฉันคิดถึงสิ่งที่จัดการกับคีย์ที่ซ้ำกัน ในกรณีที่มีการชนกันมันไม่สำคัญว่าจะบันทึกค่าใดไว้ในคำสั่งตราบเท่าที่มันสอดคล้องกัน
493 c#  dictionary  merge 

11
ส่งคืนไม่มีถ้าไม่มีคีย์พจนานุกรม
ฉันต้องการวิธีในการรับค่าพจนานุกรมหากมีกุญแจอยู่หรือเพียงคืนค่าNoneถ้าไม่มี อย่างไรก็ตาม Python จะสร้างKeyErrorข้อยกเว้นหากคุณค้นหาคีย์ที่ไม่มีอยู่ ฉันรู้ว่าฉันสามารถตรวจสอบกุญแจได้ แต่ฉันกำลังมองหาบางอย่างที่ชัดเจนยิ่งขึ้น มีวิธีการส่งคืนหรือไม่Noneหากคีย์ไม่มีอยู่?

17
มีวิธี pythonic เพื่อรวมสอง dicts (เพิ่มค่าสำหรับคีย์ที่ปรากฏในทั้งสอง)?
ตัวอย่างเช่นฉันมีสอง dicts: Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5} ฉันต้องการวิธี pythonic ของ 'การรวม' สอง dicts ที่ผลคือ: {'a': 1, 'b': 5, 'c': 7, 'd': 5} กล่าวคือหากคีย์ปรากฏในทั้งสอง dicts ให้เพิ่มค่าของมันหากปรากฏในเพียงหนึ่ง dict ให้เก็บค่าไว้
477 python  dictionary 

4
พจนานุกรมสั่งใน Python 3.6+ หรือไม่
พจนานุกรมมีการเรียงลำดับใน Python 3.6 (ภายใต้การใช้งาน CPython เป็นอย่างน้อย) ไม่เหมือนในสาขาก่อนหน้า ดูเหมือนจะเป็นการเปลี่ยนแปลงที่สำคัญ แต่เป็นเพียงย่อหน้าสั้น ๆ ในเอกสาร มันอธิบายว่าเป็นรายละเอียดการใช้งาน CPython มากกว่าคุณสมบัติภาษา แต่ก็บอกเป็นนัยว่าสิ่งนี้อาจกลายเป็นมาตรฐานในอนาคต การใช้พจนานุกรมใหม่ทำงานได้ดีกว่ารุ่นเก่าในขณะที่รักษาลำดับองค์ประกอบอย่างไร นี่คือข้อความจากเอกสาร: dict()ตอนนี้ใช้เป็น“เล็ก” เป็นตัวแทนผู้บุกเบิกโดย PyPy การใช้หน่วยความจำของ dict ใหม่ () อยู่ระหว่าง 20% ถึง 25% เล็กกว่าเมื่อเปรียบเทียบกับ Python 3.5 PEP 468 (การรักษาลำดับของ ** kwargs ในฟังก์ชั่น) ถูกใช้งานโดยสิ่งนี้ ด้านการรักษาลำดับของการใช้งานใหม่นี้ถือว่าเป็นรายละเอียดการใช้งานและไม่ควรพึ่งพา (อาจเปลี่ยนแปลงได้ในอนาคต แต่เป็นที่ต้องการที่จะมีการใช้งาน dict ใหม่นี้ในภาษาสำหรับรุ่นไม่กี่ก่อนที่จะเปลี่ยนข้อมูลจำเพาะภาษา เพื่อมอบอำนาจความหมายเพื่อรักษาคำสั่งซื้อสำหรับการใช้งาน Python ปัจจุบันและอนาคตทั้งหมดนี้ยังช่วยรักษาความเข้ากันได้ย้อนหลังกับภาษารุ่นเก่าที่คำสั่งการสุ่มซ้ำยังคงมีผลเช่น Python 3.5) (สนับสนุนโดย INADA …

9
Java Class ที่ใช้ Map และเก็บคำสั่งแทรก?
ฉันกำลังมองหาคลาสในจาวาที่มีการเชื่อมโยงค่าคีย์ แต่ไม่ต้องใช้แฮช นี่คือสิ่งที่ฉันกำลังทำอยู่: Hashtableเพิ่มค่าไป รับ iterator สำหรับ Hashtable.entrySet()ๆ ทำซ้ำผ่านค่าทั้งหมดและ: รับMap.Entryตัววนซ้ำ สร้างออบเจ็กต์ประเภทModule(คลาสที่กำหนดเอง) ตามค่า เพิ่มคลาสลงใน JPanel แสดงแผง ปัญหาเกี่ยวกับสิ่งนี้คือฉันไม่สามารถควบคุมลำดับที่ฉันได้รับค่ากลับมาดังนั้นฉันจึงไม่สามารถแสดงค่าในลำดับที่กำหนดได้ (โดยไม่มีการเข้ารหัสลำดับที่ยาก) ฉันจะใช้ArrayListหรือVectorนี้ แต่ในภายหลังในรหัสที่ฉันต้องการที่จะคว้าModuleวัตถุสำหรับคีย์ที่กำหนดซึ่งผมไม่สามารถทำอะไรกับหรือArrayListVector ไม่มีใครรู้ว่ามีคลาส Java อิสระ / โอเพนซอร์สที่จะทำเช่นนี้หรือวิธีการรับค่าออกมาจากHashtableเมื่อพวกเขาถูกเพิ่ม? ขอบคุณ!

7
Python“ ขยาย” สำหรับพจนานุกรม
วิธีใดที่ดีที่สุดในการขยายพจนานุกรมด้วยพจนานุกรมอื่น ตัวอย่างเช่น >>> a = { "a" : 1, "b" : 2 } >>> b = { "c" : 3, "d" : 4 } >>> a {'a': 1, 'b': 2} >>> b {'c': 3, 'd': 4} ฉันกำลังมองหาการดำเนินการใด ๆ ที่จะได้รับforห่วงหลีกเลี่ยงนี้: { "a" : 1, "b" : 2, "c" : 3, "d" …
462 python  dictionary 


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