ধরা যাক আমার দুটি set()
এস আছে:
a = {('1', '2', '3', 'a'), ('1', '2', '4', 'a'), ('1', '2', '5', 'b')}
b = {('1', '2', '3', 'b'), ('1', '2', '4', 'b'), ('1', '2', '6', 'b')}
এখন, আমি যা করতে চাই তা হল সেট পার্থক্যটি সন্ধান করা b \ a
কিন্তু প্রতিটি টিপল থেকে শেষ উপাদানটিকে উপেক্ষা করা। সুতরাং এটি ঠিক এমন কিছু করার মতো:
a = {('1', '2', '3'), ('1', '2', '4'), ('1', '2', '5')}
b = {('1', '2', '3'), ('1', '2', '4'), ('1', '2', '6')}
In[1]: b - a
Out[1]: {('1', '2', '6')}
প্রত্যাশিত আউটপুট:
b \ a = {('1', '2', '6', 'b')}
প্রতিটি সেটের উপর ম্যানুয়ালি পুনরাবৃত্তি না করে এবং প্রতিটিটির বিপরীতে পরীক্ষা না করে tuple[:3]
কী অর্জন করার কোনও সুস্পষ্ট / পাইথোনিক উপায় আছে ?
set
এবং পার্থক্য অপারেশন ওভাররাইট। বাক্সের বাইরে কোনও সমাধান নেই যা আমি জানি এবং আমি সন্দেহ করি যে এর একটি বিদ্যমান।
aa = { t[:3] for t in a }
tuple
এবং পার্থক্য অপারেটরকে ওভাররাইড করে