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

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

6
การใช้งาน HashMap Java 8
ตามเอกสารลิงค์ต่อไปนี้: การใช้งาน Java HashMap ฉันสับสนกับการใช้งานHashMap(หรือมากกว่านั้นคือการเพิ่มประสิทธิภาพในHashMap) คำถามของฉันคือ: ประการแรก static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; เหตุใดจึงใช้ค่าคงที่เหล่านี้และอย่างไร ฉันต้องการตัวอย่างที่ชัดเจนสำหรับเรื่องนี้ พวกเขาได้รับประสิทธิภาพที่เพิ่มขึ้นจากสิ่งนี้อย่างไร? ประการที่สอง หากคุณเห็นซอร์สโค้ดของHashMapใน JDK คุณจะพบคลาสภายในแบบคงที่ต่อไปนี้: static final class TreeNode<K, V> extends java.util.LinkedHashMap.Entry<K, V> { HashMap.TreeNode<K, V> parent; HashMap.TreeNode<K, V> left; HashMap.TreeNode<K, V> right; …

11
จะเพิ่มองค์ประกอบที่จุดเริ่มต้นของ OrderDict ได้อย่างไร?
ฉันมีสิ่งนี้: d1 = OrderedDict([('a', '1'), ('b', '2')]) ถ้าฉันทำสิ่งนี้: d1.update({'c':'3'}) จากนั้นฉันจะได้รับสิ่งนี้: OrderedDict([('a', '1'), ('b', '2'), ('c', '3')]) แต่ฉันต้องการสิ่งนี้: [('c', '3'), ('a', '1'), ('b', '2')] โดยไม่ต้องสร้างพจนานุกรมใหม่

5
ในรายการ Dicts ค้นหาค่า min () ของฟิลด์ Dict ทั่วไป
ฉันมีรายการพจนานุกรมดังนี้: [{'price': 99, 'barcode': '2342355'}, {'price': 88, 'barcode': '2345566'}] ฉันต้องการค้นหาราคาขั้นต่ำ () และราคาสูงสุด () ตอนนี้ฉันสามารถจัดเรียงสิ่งนี้ได้ง่ายพอโดยใช้คีย์ที่มีนิพจน์แลมบ์ดา (ดังที่พบในบทความ SO อื่น) ดังนั้นหากไม่มีวิธีอื่นฉันก็ไม่ติดขัด อย่างไรก็ตามจากสิ่งที่ฉันเห็นมีทางตรงใน Python เกือบตลอดเวลาดังนั้นนี่จึงเป็นโอกาสที่ฉันจะได้เรียนรู้เพิ่มเติมอีกเล็กน้อย
93 python  list  dictionary  max  min 

6
วิธีที่รวดเร็วในการคัดลอกพจนานุกรมใน Python
ฉันมีโปรแกรม Python ที่ทำงานร่วมกับพจนานุกรมได้มากมาย ฉันต้องทำสำเนาพจนานุกรมหลายพันครั้ง ฉันต้องการสำเนาของทั้งคีย์และเนื้อหาที่เกี่ยวข้อง สำเนาจะถูกแก้ไขและจะต้องไม่เชื่อมโยงกับต้นฉบับ (เช่นการเปลี่ยนแปลงในสำเนาจะต้องไม่ส่งผลกระทบต่อต้นฉบับ) คีย์คือสตริงค่าคือจำนวนเต็ม (0/1) ปัจจุบันฉันใช้วิธีง่ายๆ: newDict = oldDict.copy() การสร้างโปรไฟล์รหัสของฉันแสดงให้เห็นว่าการดำเนินการคัดลอกใช้เวลาส่วนใหญ่ มีทางเลือกอื่นที่เร็วกว่าสำหรับdict.copy()วิธีนี้หรือไม่? อะไรจะเร็วที่สุด?


9
การเขียนพจนานุกรมลงในไฟล์ csv โดยมีหนึ่งบรรทัดสำหรับทุก 'key: value'
ฉันมีพจนานุกรม: mydict = {key1: value_a, key2: value_b, key3: value_c} ฉันต้องการเขียนข้อมูลลงในไฟล์ dict.csv ในรูปแบบนี้: key1: value_a key2: value_b key3: value_c ฉันเขียน: import csv f = open('dict.csv','wb') w = csv.DictWriter(f,mydict.keys()) w.writerow(mydict) f.close() แต่ตอนนี้ฉันมีคีย์ทั้งหมดในแถวเดียวและค่าทั้งหมดในแถวถัดไป .. เมื่อฉันจัดการเขียนไฟล์แบบนี้ฉันก็อยากจะอ่านมันกลับไปที่พจนานุกรมใหม่ด้วย เพื่ออธิบายรหัสของฉันพจนานุกรมมีค่าและบูลจาก textctrls และช่องทำเครื่องหมาย (โดยใช้ wxpython) ฉันต้องการเพิ่มปุ่ม "บันทึกการตั้งค่า" และ "โหลดการตั้งค่า" บันทึกการตั้งค่าควรเขียนพจนานุกรมลงในไฟล์ด้วยวิธีที่กล่าวถึง (เพื่อให้ง่ายขึ้นสำหรับผู้ใช้ในการแก้ไขไฟล์ csv โดยตรง) การตั้งค่าโหลดควรอ่านจากไฟล์และอัปเดต textctrls และช่องทำเครื่องหมาย
92 python  csv  dictionary 

5
ทำไม Python dict จึงมีหลายคีย์ที่มีแฮชเดียวกัน
ฉันพยายามทำความเข้าใจกับhashฟังก์ชันPython ภายใต้ประทุน ฉันสร้างคลาสแบบกำหนดเองโดยที่อินสแตนซ์ทั้งหมดส่งคืนค่าแฮชเหมือนกัน class C: def __hash__(self): return 42 ฉันเพิ่งสันนิษฐานว่าอินสแตนซ์เดียวของคลาสข้างต้นสามารถอยู่ในdictช่วงเวลาใดก็ได้ แต่ในความเป็นจริงdictสามารถมีหลายองค์ประกอบที่มีแฮชเดียวกัน c, d = C(), C() x = {c: 'c', d: 'd'} print(x) # {<__main__.C object at 0x7f0824087b80>: 'c', <__main__.C object at 0x7f0823ae2d60>: 'd'} # note that the dict has 2 elements ฉันทดลองเพิ่มเติมอีกเล็กน้อยและพบว่าถ้าฉันแทนที่__eq__วิธีการเพื่อให้อินสแตนซ์ทั้งหมดของคลาสเปรียบเทียบเท่ากันจะมีdictเพียงอินสแตนซ์เดียวเท่านั้นที่อนุญาต class D: def __hash__(self): return 42 def …

1
OrderDict จะซ้ำซ้อนใน Python 3.7 หรือไม่
จากการเปลี่ยนแปลง Python 3.7 : ลักษณะการเก็บรักษาคำสั่งแทรกของวัตถุdict ได้รับการประกาศให้เป็นส่วนหนึ่งอย่างเป็นทางการของข้อกำหนดภาษา Python นี่หมายความว่าOrderedDictจะซ้ำซ้อนหรือไม่? การใช้งานเดียวที่ฉันคิดได้คือการรักษาความเข้ากันได้แบบย้อนหลังกับ Python เวอร์ชันเก่าซึ่งไม่เก็บลำดับการแทรกสำหรับพจนานุกรมปกติ

8
การใช้ map () บนตัววนซ้ำ
สมมติว่าเรามีแผนที่: let m = new Map();โดยใช้m.values()คืนค่าตัววนซ้ำแผนที่ แต่ฉันไม่สามารถใช้forEach()หรือmap()บน iterator ที่และการดำเนินการในขณะที่ห่วงว่า iterator ดูเหมือนว่าต่อต้านรูปแบบฟังก์ชั่นตั้งแต่ ES6 map()เสนอเช่น มีวิธีใช้map()กับ iterator หรือไม่?

8
javascript forEach ใช้อะไรได้บ้าง (แผนที่นั้นไม่สามารถทำได้)
ข้อแตกต่างเดียวที่ฉันเห็นในแผนที่และ foreach mapคือส่งคืนอาร์เรย์และforEachไม่ใช่ อย่างไรก็ตามฉันไม่เข้าใจบรรทัดสุดท้ายของforEachวิธีการ " func.call(scope, this[i], i, this);" ด้วยซ้ำ ยกตัวอย่างเช่นไม่ได้ " this" และ " scope" หมายถึงวัตถุเดียวกันและไม่ได้เป็นthis[i]และiหมายถึงค่าปัจจุบันในวง? ฉันสังเกตเห็นในโพสต์อื่นมีคนพูดว่า "ใช้forEachเมื่อคุณต้องการทำบางสิ่งบนพื้นฐานของแต่ละองค์ประกอบของรายการคุณอาจจะเพิ่มสิ่งต่างๆลงในเพจเป็นต้นโดยพื้นฐานแล้วมันยอดเยี่ยมสำหรับเมื่อคุณต้องการ" ผลข้างเคียง " ฉันไม่รู้ความหมายของผลข้างเคียง Array.prototype.map = function(fnc) { var a = new Array(this.length); for (var i = 0; i < this.length; i++) { a[i] = fnc(this[i]); } return a; } Array.prototype.forEach = …

5
ซับเดียว: สร้างพจนานุกรมจากรายการโดยมีดัชนีเป็นคีย์
ฉันต้องการสร้างพจนานุกรมจากรายการที่กำหนดเพียงบรรทัดเดียว คีย์ของพจนานุกรมจะเป็นดัชนีและค่าต่างๆจะเป็นองค์ประกอบของรายการ สิ่งนี้: a = [51,27,13,56] #given list d = one-line-statement #one line statement to create dictionary print(d) เอาท์พุต: {0:51, 1:27, 2:13, 3:56} ฉันไม่มีข้อกำหนดเฉพาะว่าทำไมฉันถึงต้องการหนึ่งบรรทัด ฉันแค่สำรวจ python และสงสัยว่าจะเป็นไปได้ไหม

7
ฉันจะรวมพจนานุกรมเข้าด้วยกันใน Python ได้อย่างไร
d3 = dict(d1, **d2) ฉันเข้าใจว่าสิ่งนี้รวมพจนานุกรม แต่มันไม่เหมือนใคร? จะเกิดอะไรขึ้นถ้า d1 มีคีย์เดียวกันกับ d2 แต่มีค่าต่างกัน ฉันต้องการรวม d1 และ d2 แต่ d1 มีลำดับความสำคัญหากมีคีย์ที่ซ้ำกัน

7
Android HashMap ใน Bundle?
android.os.Messageใช้Bundleในการส่งด้วยนั้น SendMessage-วิธี ดังนั้นจึงสามารถใส่ a HashMapภายในได้Bundleหรือไม่?

9
พจนานุกรมคีย์คอมโพสิต
ฉันมีวัตถุบางอย่างในรายการสมมติว่าList<MyClass>MyClass มีคุณสมบัติหลายอย่าง ฉันต้องการสร้างดัชนีของรายการตามคุณสมบัติ 3 ประการของ MyClass ในกรณีนี้ 2 ของคุณสมบัติคือ int และคุณสมบัติหนึ่งคือวันที่และเวลา โดยทั่วไปฉันต้องการที่จะทำสิ่งต่างๆเช่น: Dictionary< CompositeKey , MyClass > MyClassListIndex = Dictionary< CompositeKey , MyClass >(); //Populate dictionary with items from the List<MyClass> MyClassList MyClass aMyClass = Dicitonary[(keyTripletHere)]; บางครั้งฉันสร้างพจนานุกรมหลายรายการในรายการเพื่อจัดทำดัชนีคุณสมบัติต่างๆของคลาสที่มี ฉันไม่แน่ใจว่าจะจัดการกับคีย์คอมโพสิตได้ดีที่สุดแค่ไหน ฉันถือว่าทำการตรวจสอบค่าสามค่า แต่จะเสี่ยงต่อการชนกัน
91 c#  dictionary 

9
ประกาศพจนานุกรมภายในคลาสคงที่
จะประกาศวัตถุพจนานุกรมแบบคงที่ภายในคลาสแบบคงที่ได้อย่างไร? ฉันเหนื่อย public static class ErrorCode { public const IDictionary<string, string> ErrorCodeDic = new Dictionary<string, string>() { { "1", "User name or password problem" } }; } แต่คอมไพเลอร์บ่นว่า " ฟิลด์ const ของประเภทการอ้างอิงอื่นที่ไม่ใช่สตริงสามารถเริ่มต้นด้วย nullเท่านั้น"
90 c#  .net  dictionary 

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