আমার কাছে পয়েন্টগুলির একটি অভিধান রয়েছে, বলুন:
>>> points={'a':(3,4), 'b':(1,2), 'c':(5,5), 'd':(3,3)}
আমি সমস্ত পয়েন্টের সাথে একটি নতুন অভিধান তৈরি করতে চাই যার x এবং y মান 5 এর চেয়ে কম, অর্থাৎ 'a', 'b' এবং 'd' পয়েন্ট করুন।
বই অনুসারে , প্রতিটি অভিধানে items()
ফাংশন রয়েছে, যা (key, pair)
tuple এর একটি তালিকা ফেরত দেয় :
>>> points.items()
[('a', (3, 4)), ('c', (5, 5)), ('b', (1, 2)), ('d', (3, 3))]
সুতরাং আমি এটি লিখেছি:
>>> for item in [i for i in points.items() if i[1][0]<5 and i[1][1]<5]:
... points_small[item[0]]=item[1]
...
>>> points_small
{'a': (3, 4), 'b': (1, 2), 'd': (3, 3)}
আরও কি মার্জিত উপায় আছে? আমি আশা করছিলাম পাইথনটি কিছু দুর্দান্ত-দুর্দান্ত dictionary.filter(f)
কাজ করবে ...