ডক্স থেকে :
বিপরীত ( সিক )
একটি বিপরীত ফিরে iterator। seq অবশ্যই একটি অবজেক্ট হতে হবে যার একটি __reversed__()পদ্ধতি রয়েছে বা সিকোয়েন্স প্রোটোকলকে সমর্থন করে ( __len__()পদ্ধতি এবং __getitem__()পদ্ধতিটি 0 থেকে শুরু করে পূর্ণসংখ্যার আর্গুমেন্ট সহ)।
একটি dictবস্তু বাস্তবায়ন করে না __reversed__। এটি পরের দুটি পদ্ধতি প্রয়োগ করে। তবে, __getitem__পূর্ণসংখ্যার পরিবর্তে (0 থেকে শুরু) কীগুলি আর্গুমেন্ট হিসাবে গ্রহণ করে।
কেন, এটি ইতিমধ্যে এখানে পরামর্শ এবং আলোচনা করা হয়েছে ।
সম্পাদনা করুন:
এই উদ্ধৃতিগুলি পাইথন-দেব মেলিং তালিকা থেকে এসেছে (থ্রেড "ডিকের জন্য" __reversed__ পদ্ধতি "থ্রেড করা হয়েছে, 25 থেকে শুরু হয়েছে। 05. 18), আমি" ধারণাগত "যুক্তি দিয়ে শুরু করব, প্রথমটি এন্টোইন পিট্রো থেকে এসেছে:
অর্ডারডিক্ট ইতিমধ্যে বিপরীত () সমর্থন করে এটির কোনও মূল্য নেই। যুক্তি দুটি উপায়ে যেতে পারে:
ডিক আজকাল অর্ডারডিক্টের অনুরূপ, সুতরাং এটিও বিপরীত () সমর্থন করা উচিত;
আপনি অর্ডার দেওয়ার বিষয়ে স্পষ্টভাবে ইঙ্গিত দেওয়ার জন্য আপনি অর্ডারডিক্ট ব্যবহার করতে পারেন; ডিক কিছু যোগ করার প্রয়োজন নেই।
আমার ধারণা হ'ল নিয়মিত ডিক্টসের জন্য সুনির্দিষ্ট সন্নিবেশ ক্রমটি একেবারেই নতুন, সুতরাং ধারণাটি স্থায়ী হতে এবং ডিক্ট সম্পর্কে দৈনন্দিন চিন্তাভাবনার অংশ হয়ে উঠতে কিছুটা সময় লাগবে। একবার এটি হয়ে গেলে, সম্ভবত এটি অনিবার্য যে ব্যবহারের কেসগুলি উদ্ভূত হবে এবং সেই সময়ে __ বিপর্যস্ত__ যুক্ত হবে। বাস্তবায়নটি সহজবোধ্য মনে হয় এবং সীমাবদ্ধ অর্ডার সংগ্রহটি প্রত্যাবর্তনীয় হবে বলে আশা করা অনেকটা ধারণাগত লাফের নয়।
অনুসরণ করেছেন রেমন্ড হেট্টিংগার এর উত্তর:
দেওয়া হয়েছে যে ডিক্টগুলি এখন সন্নিবেশ ক্রমটি ট্র্যাক করে, এটি সর্বাধিক সাম্প্রতিক সন্নিবেশগুলি জানতে চাওয়া যুক্তিসঙ্গত বলে মনে হয় (যেমন কোনও টাস্ক ডিকের মধ্যে সর্বাধিক যুক্ত হওয়া কাজগুলি লুপিং)। অন্যান্য সম্ভাব্য ব্যবহারের ক্ষেত্রে সম্ভবত আমরা কীভাবে ইউনিক্স টেইল কমান্ডটি ব্যবহার করব তার সাথে সম্পর্কিত হবে।
যদি এই ব্যবহারগুলির ক্ষেত্রে উত্থাপিত হয় তবে ইতিমধ্যে__ বিপরীত_দের সমর্থন করা ভাল nice যাতে লোকেরা পুনরায় স্থান প্রয়োগের পরে পপাইটেম () কলগুলি ব্যবহার করে একটি কুৎসিত কাজের প্রয়োগ বাস্তবায়িত করতে প্রলুব্ধ না হয়।
মেলিং তালিকায় প্রকাশিত মূল উদ্বেগটি হ'ল এটি কমপক্ষে কিছু বাস্তবায়নে খুব বেশি ফোলা বা মেমরির দক্ষতা (এককভাবে সংযুক্ত থাকাগুলির পরিবর্তে দ্বিগুণ লিঙ্কযুক্ত তালিকা থাকা) হ্রাস করবে, এখানে পাইথন বাগ ট্র্যাকারের ইনানাডা নওকীর উদ্ধৃতি ( ইস্যু ৩৩৪62২) ):
"অর্ডার আছে" এর অর্থ "বিপরীতমুখী" নয়। উদাহরণস্বরূপ, একক সংযুক্ত তালিকার অর্ডার দেওয়া হয়েছে, তবে বিপরীত নয়।
যদিও সিপথন বাস্তবায়ন দক্ষ সরবরাহ করতে পারে __reverse__, যোগ করার __reverse__অর্থ সমস্ত পাইথন বাস্তবায়ন এটি সরবরাহ করবে বলে আশা করা হচ্ছে। উদাহরণস্বরূপ, কিছু পাইথন বাস্তবায়ন হ্যাশম্যাপ + একক লিঙ্কযুক্ত তালিকার সাহায্যে ডিক প্রয়োগ করতে সক্ষম হতে পারে। যদি __reverse__যোগ করা হয় তবে এটি আর সম্ভব নয়।
মেলিং তালিকায় ফিরে আসুন, এখানে দুটি শেষ বার্তা রয়েছে (উভয়ই 08.06.2018 এ পোস্ট করা হয়েছে)। প্রথমটি মাইকেল সেলিকের কাছ থেকে:
আমি কি এই কথাটি বলতে পারি যে 3ক্যমত্যটি v3.8 এ অন্তর্ভুক্তির জন্য +1?
থ্রেডের শেষ পয়েন্টটি ছিল আইএনএডিএ নওকি বিভিন্ন বাস্তবায়ন নিয়ে গবেষণা করে এবং সিদ্ধান্ত নিয়েছিলেন যে এই বৈশিষ্ট্যটি 3.8 এ অন্তর্ভুক্ত করা ঠিক আছে। আমি যেমন এটি বুঝতে পারি, মাইক্রো পাইথনের v3.7 প্রয়োগের জন্য অপেক্ষা করার জন্য আইএনএডিএ-র পরামর্শের সাথে গুইডো একমত ছিলেন। যেহেতু আইএনএডিএ মন পরিবর্তন করেছে, আমি অনুমান করছি যে এটি সব পক্ষে?
গুডো ভ্যান রসমের বার্তার সাথে সমাপ্তি:
এটা আমার কাছে ঠিক শোনাচ্ছে আমাদের তখন দুটি সংস্করণ থাকবে যেখানে এটি ছিল:
অন্যান্য উত্তর এবং মন্তব্যে উল্লিখিত হিসাবে, reversed()সংস্করণ 3.8 (14.10.2018) থেকে উভয় দিকচিকিত্সা এবং ডিকমিউজ উভয়ের জন্য সমর্থিত।
dictreversed