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

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

12
วิธีเริ่มต้น HashMap โดยตรง (ตามตัวอักษร) ได้อย่างไร
มีวิธีการเริ่มต้น Java HashMap เช่นนี้ไหม: Map<String,String> test = new HashMap<String, String>{"test":"test","test":"test"}; สิ่งที่จะเป็นไวยากรณ์ที่ถูกต้อง? ฉันไม่พบอะไรเกี่ยวกับเรื่องนี้ เป็นไปได้ไหม ฉันกำลังมองหาวิธีที่สั้นที่สุด / เร็วที่สุดในการใส่ค่า "สุดท้าย / คงที่" ในแผนที่ที่ไม่เคยเปลี่ยนแปลงและเป็นที่รู้จักล่วงหน้าเมื่อสร้างแผนที่

27
ฉันจะเรียงลำดับพจนานุกรมตามคีย์ได้อย่างไร
สิ่งที่จะเป็นวิธีที่ดีที่จะไปจาก{2:3, 1:89, 4:5, 3:0}ไป{1:89, 2:3, 3:0, 4:5}? ฉันตรวจสอบบางโพสต์ แต่พวกเขาทั้งหมดใช้ตัวดำเนินการ "เรียงลำดับ" ที่ส่งคืนทูเปิล


16
การสะสมถูกแก้ไข; การดำเนินการแจงนับอาจไม่ทำงาน
ฉันไม่สามารถไปที่ด้านล่างของข้อผิดพลาดนี้ได้เพราะเมื่อมีการแนบตัวดีบั๊กมันจะไม่เกิดขึ้น ด้านล่างเป็นรหัส นี่คือเซิร์ฟเวอร์ WCF ในบริการ Windows เมธอด NotifySubscribeers ถูกเรียกโดยบริการเมื่อใดก็ตามที่มีเหตุการณ์ข้อมูล (ตามช่วงเวลาที่สุ่ม แต่ไม่บ่อยมาก - ประมาณ 800 ครั้งต่อวัน) เมื่อไคลเอนต์ Windows Forms สมัครสมาชิก ID สมาชิกจะถูกเพิ่มไปยังพจนานุกรมสมาชิกและเมื่อลูกค้ายกเลิกสมาชิกมันจะถูกลบออกจากพจนานุกรม ข้อผิดพลาดเกิดขึ้นเมื่อ (หรือหลังจาก) ลูกค้ายกเลิกการเป็นสมาชิก ปรากฏว่าในครั้งต่อไปที่เรียกใช้เมธอด NotifySubscribers () ลูป foreach () จะล้มเหลวด้วยข้อผิดพลาดในบรรทัดหัวเรื่อง วิธีการเขียนข้อผิดพลาดลงในบันทึกการใช้งานตามที่แสดงในรหัสด้านล่าง เมื่อมีการแนบดีบักเกอร์และการยกเลิกการเป็นลูกค้ารหัสจะทำงานได้ดี คุณเห็นปัญหาเกี่ยวกับรหัสนี้หรือไม่? ฉันต้องทำให้พจนานุกรมปลอดภัยไหม? [ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)] public class SubscriptionServer : ISubscriptionServer { private static IDictionary<Guid, Subscriber> subscribers; public SubscriptionServer() { …

24
รับคีย์ด้วยค่าสูงสุดในพจนานุกรมหรือไม่
ฉันมีdictionary: คีย์คือสตริงค่าเป็นจำนวนเต็ม ตัวอย่าง: stats = {'a':1000, 'b':3000, 'c': 100} ฉันต้องการได้'b'รับคำตอบเนื่องจากเป็นกุญแจสำคัญที่มีมูลค่าสูงกว่า ฉันทำสิ่งต่อไปนี้โดยใช้รายการระดับกลางที่มี tuples คีย์ - ค่าที่กลับรายการ: inverse = [(value, key) for key, value in stats.items()] print max(inverse)[1] นั่นเป็นวิธีที่ดีกว่า (หรือสวยงามกว่า)
867 python  dictionary  max 

20
วิธีคัดลอกพจนานุกรมและแก้ไขเฉพาะสำเนา
ใครช่วยอธิบายสิ่งนี้ให้ฉันได้ไหม นี่ไม่สมเหตุสมผลเลยสำหรับฉัน ฉันคัดลอกพจนานุกรมไปที่อื่นและแก้ไขครั้งที่สองและทั้งคู่เปลี่ยนไป ทำไมสิ่งนี้จึงเกิดขึ้น >>> dict1 = {"key1": "value1", "key2": "value2"} >>> dict2 = dict1 >>> dict2 {'key2': 'value2', 'key1': 'value1'} >>> dict2["key2"] = "WHY?!" >>> dict1 {'key2': 'WHY?!', 'key1': 'value1'}

18
คุณเรียงลำดับพจนานุกรมตามค่าอย่างไร
ฉันมักจะต้องเรียงลำดับพจนานุกรมประกอบด้วยปุ่ม & ค่าตามค่า ตัวอย่างเช่นฉันมีคำและความถี่ที่เกี่ยวข้องซึ่งฉันต้องการเรียงลำดับตามความถี่ มีค่าSortedListซึ่งดีสำหรับค่าเดียว (ความถี่พูด) ที่ฉันต้องการแมปกลับไปที่คำว่า คำสั่งSortedDictionaryตามคีย์ไม่ใช่ค่า รีสอร์ทบางแห่งในชั้นเรียนที่กำหนดเองแต่มีวิธีที่สะอาดกว่าไหม
796 c#  .net  sorting  dictionary 

8
จะคืนค่าคีย์พจนานุกรมเป็นรายการใน Python ได้อย่างไร
ในPython 2.7 , ฉันจะได้รับพจนานุกรมคีย์ , ค่าหรือรายการที่เป็นรายการ: >>> newdict = {1:0, 2:0, 3:0} >>> newdict.keys() [1, 2, 3] ตอนนี้ในPython> = 3.3ฉันได้รับสิ่งนี้: >>> newdict.keys() dict_keys([1, 2, 3]) ดังนั้นฉันต้องทำสิ่งนี้เพื่อรับรายการ: newlist = list() for i in newdict.keys(): newlist.append(i) ฉันสงสัยว่ามีวิธีที่ดีกว่าในการส่งคืนรายการในPython 3หรือไม่?

9
แปลงการแทนค่าสตริงของพจนานุกรมเป็นพจนานุกรมหรือไม่?
ฉันจะแปลงการstrแทนค่าของ a dictเช่นสตริงต่อไปนี้เป็น a ได้dictอย่างไร? s = "{'muffin' : 'lolz', 'foo' : 'kitty'}" evalฉันไม่ต้องการใช้งาน ฉันจะใช้อะไรได้อีก เหตุผลหลักสำหรับเรื่องนี้คือหนึ่งในเพื่อนร่วมชั้นเรียนของฉันที่เขาเขียนแปลงข้อมูลทั้งหมดเป็นสตริง ฉันไม่ได้อยู่ในอารมณ์ที่จะไปและปรับเปลี่ยนชั้นเรียนของเขาเพื่อจัดการกับปัญหานี้

10
จะตรวจสอบว่าแผนที่มีรหัสใน Go ได้อย่างไร?
ฉันรู้ว่าฉันสามารถทำซ้ำแผนที่mโดย for k, v := range m { ... } และมองหากุญแจ แต่มีวิธีที่มีประสิทธิภาพมากกว่าในการทดสอบการมีอยู่ของกุญแจในแผนที่หรือไม่? ฉันไม่สามารถหาคำตอบได้ในส่วนภาษาสเปค
761 dictionary  go  go-map 

10
ความแตกต่างระหว่าง dict.items () และ dict.iteritems () ใน Python2 คืออะไร?
มีความแตกต่างที่เกี่ยวข้องระหว่างdict.items()และdict.iteritems()? จากPython docs : dict.items(): ส่งคืนสำเนาของรายการคู่ (คีย์, ค่า) ของพจนานุกรม dict.iteritems(): ส่งคืนตัววนซ้ำรอบคู่ (คีย์, ค่า) ของพจนานุกรม หากฉันเรียกใช้รหัสด้านล่างดูเหมือนว่าแต่ละคนจะส่งคืนการอ้างอิงไปยังวัตถุเดียวกัน มีความแตกต่างเล็กน้อยที่ฉันขาดหายไปไหม #!/usr/bin/python d={1:'one',2:'two',3:'three'} print 'd.items():' for k,v in d.items(): if d[k] is v: print '\tthey are the same object' else: print '\tthey are different' print 'd.iteritems():' for k,v in d.iteritems(): if d[k] is v: print …


8
แปลงรายการพจนานุกรมเป็น DataFrame แพนด้า
ฉันมีรายการพจนานุกรมเช่นนี้: [{'points': 50, 'time': '5:00', 'year': 2010}, {'points': 25, 'time': '6:00', 'month': "february"}, {'points':90, 'time': '9:00', 'month': 'january'}, {'points_h1':20, 'month': 'june'}] และฉันต้องการเปลี่ยนให้เป็นหมีแพนด้าDataFrameเช่นนี้: month points points_h1 time year 0 NaN 50 NaN 5:00 2010 1 february 25 NaN 6:00 NaN 2 january 90 NaN 9:00 NaN 3 june NaN 20 NaN …

10
ทำไม dict.get (กุญแจ) แทนที่จะเป็น dict [key]
วันนี้ฉันเจอdictวิธีgetที่ให้คีย์ในพจนานุกรมคืนค่าที่เกี่ยวข้อง ฟังก์ชั่นนี้มีประโยชน์สำหรับวัตถุประสงค์ใด? หากฉันต้องการหาค่าที่เกี่ยวข้องกับคีย์ในพจนานุกรมฉันสามารถทำได้dict[key]และมันจะส่งคืนสิ่งเดียวกัน: dictionary = {"Name": "Harry", "Age": 17} dictionary["Name"] dictionary.get("Name")
649 python  dictionary 

30
รับค่าคีย์ในพจนานุกรม
ฉันสร้างฟังก์ชั่นซึ่งจะค้นหาอายุใน a Dictionaryและแสดงชื่อที่ตรงกัน: dictionary = {'george' : 16, 'amber' : 19} search_age = raw_input("Provide age") for age in dictionary.values(): if age == search_age: name = dictionary[age] print name ฉันรู้วิธีการเปรียบเทียบและหาอายุฉันแค่ไม่รู้วิธีแสดงชื่อของบุคคล นอกจากนี้ฉันได้รับKeyErrorเนื่องจากบรรทัด 5 ฉันรู้ว่ามันไม่ถูกต้อง แต่ฉันไม่สามารถหาวิธีที่จะทำให้การค้นหาย้อนหลัง
632 python  dictionary 

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