2 সেট ইউনিয়ন সমস্ত আইটেম ধারণ করে না


উত্তর:


110

ইউনিয়ন কেন () সমস্ত আইটেম ধারণ করে না

1এবং Trueসমতুল্য এবং সদৃশ বলে মনে করা হয়। একইভাবে 0এবং Falseসমতুল্য:

>>> 1 == True
True
>>> 0 == False
True

কোন সমতুল্য মান ব্যবহৃত হয়

যখন একাধিক সমতুল্য মানগুলির মুখোমুখি হয়, সেটগুলি প্রথমটিকে দেখাতে থাকে:

>>> {0, False}
{0}
>>> {False, 0}
{False}

মানগুলি আলাদা করার উপায়

এগুলি স্বতন্ত্র হিসাবে বিবেচনা করার জন্য, কেবল তাদের একটি (value, type)জোড়ায় সংরক্ষণ করুন:

>>> set1 = {(1, int), (2, int), (3, int)}
>>> set2 = {(True, bool), (False, bool)}
>>> set1 | set2
{(3, <class 'int'>), (1, <class 'int'>), (2, <class 'int'>),
 (True, <class 'bool'>), (False, <class 'bool'>)}
>>> set1 & set2
set()

মানগুলি আলাদা করার আরেকটি উপায় হ'ল স্ট্রিং হিসাবে সংরক্ষণ করা:

>>> set1 = {'1', '2', '3'}
>>> set2 = {'True', 'False'}
>>> set1 | set2
{'2', '3', 'False', 'True', '1'}
>>> set1 & set2
set()

আশা করি এটি রহস্যটি সরিয়ে দিয়ে এগিয়ে যাওয়ার পথ দেখায় :-)


মন্তব্য থেকে উদ্ধার:

এটি ক্রস-টাইপ সমতুল্যতা (যেমন 0.0 == 0, True == 1এবং Decimal(8.5) == 8.5)।) পাইথন ২.7 এর নিয়মিত এক্সপ্রেশন মডিউলটিতে ইউনিকোড রেজিক্সগুলিকে অন্যথায় সমমানের রেজিগেস থেকে আলাদাভাবে ক্যাশে যেতে বাধ্য করার জন্য ব্যবহৃত হয় The প্রযুক্তিটি পাইথনেও ব্যবহৃত হয় 3 টাইপ করা প্যারামিটারটি সত্য হলে functools.lru_cache () এর জন্য 3।

যদি ওপিতে ডিফল্ট সমতুল্য সম্পর্ক ছাড়া অন্য কিছু প্রয়োজন হয় তবে কিছু নতুন সম্পর্ককে সংজ্ঞায়িত করা দরকার needs ব্যবহারের ক্ষেত্রে নির্ভর করে, এটি স্ট্রিংগুলির ক্ষেত্রে কেস-সংবেদনশীলতা, ইউনিকোডের জন্য সাধারণীকরণ, ভিজ্যুয়াল উপস্থিতি (যে জিনিসগুলিকে আলাদা দেখায় বিভিন্ন বিবেচনা করা হয়), পরিচয় (কোনও দুটি স্বতন্ত্র বস্তুকে সমান বিবেচনা করা হয় না), মান / টাইপ জুড়ি বা অন্য কিছু হতে পারে একটি সমতা সম্পর্ক সংজ্ঞায়িত ফাংশন। ওপিএসের নির্দিষ্ট উদাহরণ দেওয়া, দেখে মনে হবে তিনি প্রকারভেদ বা ভিজ্যুয়াল পার্থক্য দ্বারা প্রত্যাশা করেছেন।


20

পাইথনে, Falseএবং 0সমতুল্য হিসাবে বিবেচিত হয় Trueএবং যেমন হয় 1। কারণ Trueএবং 1একই মান হিসাবে বিবেচনা করা হয়, তাদের মধ্যে কেবলমাত্র একটি একই সময়ে একটি সেটে উপস্থিত হতে পারে। কোনটি সেটে সেগুলিতে যুক্ত করা হয় তার উপর নির্ভর করে the প্রথম লাইনে set1প্রথম সেট হিসাবে ব্যবহৃত হয়, তাই আমরা 1ফলাফলের সেটে পাব । দ্বিতীয় সেটে, Trueপ্রথম সেটে রয়েছে, সুতরাং Trueফলাফলের অন্তর্ভুক্ত।


6

আপনি যদি https://docs.python.org/3/library/stdtyype.html#boolean-values বিভাগে 4.12.10 দেখুন। বুলিয়ান মানসমূহ:

বুলিয়ান মানগুলি দুটি ধ্রুবক বস্তু মিথ্যা এবং সত্য । এগুলি সত্য মানের প্রতিনিধিত্ব করতে ব্যবহৃত হয় (যদিও অন্যান্য মানগুলিও মিথ্যা বা সত্য হিসাবে বিবেচিত হতে পারে)। সংখ্যার প্রসঙ্গে (উদাহরণস্বরূপ যখন একটি পাটিগণিত অপারেটরের যুক্তি হিসাবে ব্যবহৃত হয়), তারা যথাক্রমে 0 এবং 1 এর পূর্ণসংখ্যার মতো আচরণ করে।


4

তুলনা অপারেটর ( ==, !=) বুলিয়ান Trueএবং False1 এবং 0 এর সাথে মেলে জন্য সংজ্ঞায়িত করা হয় ।

এই কারণেই, সেট ইউনিয়নে, যখন এটি Trueনতুন সেটটিতে ইতিমধ্যে রয়েছে কিনা তা পরীক্ষা করে , এটি একটি সত্য উত্তর দেয়:

>>> True in {1}
True
>>> 1 in {True}
True
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.