আমি inসেটগুলির জন্য পাইথন অপারেটর সম্পর্কে কিছুটা বিভ্রান্ত ।
আমার যদি একটি সেট sএবং কিছু উদাহরণ থাকে bতবে এটির b in sঅর্থ কি এটির অর্থ সত্য " এর মতো কিছু উপাদান রয়েছেxsb == xtrue "?
আমি inসেটগুলির জন্য পাইথন অপারেটর সম্পর্কে কিছুটা বিভ্রান্ত ।
আমার যদি একটি সেট sএবং কিছু উদাহরণ থাকে bতবে এটির b in sঅর্থ কি এটির অর্থ সত্য " এর মতো কিছু উপাদান রয়েছেxsb == xtrue "?
উত্তর:
হ্যাঁ, কিন্তু এটা আরো অর্থ hash(b) == hash(x), তাই আইটেম সমতা একই করতে যথেষ্ট নয়।
সেটা ঠিক. আপনি এটি অনুবাদকের মতো করে চেষ্টা করতে পারেন:
>>> a_set = set(['a', 'b', 'c'])
>>> 'a' in a_set
True
>>>'d' in a_set
False
a = 'a'; b = 'a'; a is b) এটি খুব ভাল পরীক্ষা নয় । a = (1, 2, 3); b = (1, 2, 3); a == b; hash(a) == hash(b); a is b; a in set([b])পরিবর্তে আমি এটি চেষ্টা করেছিলাম ।
হ্যাঁ এটি এর অর্থ হতে পারে বা এটি একটি সাধারণ পুনরাবৃত্তিকারী হতে পারে। উদাহরণস্বরূপ: পুনরুক্তি হিসাবে উদাহরণ:
a=set(['1','2','3'])
for x in a:
print ('This set contains the value ' + x)
একইভাবে একটি চেক হিসাবে:
a=set('ILovePython')
if 'I' in a:
print ('There is an "I" in here')
সম্পাদিত: তালিকা এবং স্ট্রিংয়ের পরিবর্তে সেটগুলি অন্তর্ভুক্ত করতে সম্পাদিত
স্ট্রিংগুলি setধরণের না হলেও inস্ক্রিপ্টগুলিতে বৈধতার সময় একটি মূল্যবান সম্পত্তি থাকে:
yn = input("Are you sure you want to do this? ")
if yn in "yes":
#accepts 'y' OR 'e' OR 's' OR 'ye' OR 'es' OR 'yes'
return True
return False
আমি আশা করি এটি আপনাকে inএই উদাহরণটির ব্যবহার আরও ভালভাবে বুঝতে সহায়তা করে ।
... or 'e' or 'es' or 's'। কেবল এই অর্থহীন ভুল উত্তর মুছে ফেলার কথা বিবেচনা করুন।
সেটগুলি ডিক্টের চেয়ে আলাদা আচরণ করে, আপনার ইস্যুবসেট () এর মতো সেট অপারেশন ব্যবহার করতে হবে:
>>> k
{'ip': '123.123.123.123', 'pw': 'test1234', 'port': 1234, 'debug': True}
>>> set('ip,port,pw'.split(',')).issubset(set(k.keys()))
True
>>> set('ip,port,pw'.split(',')) in set(k.keys())
False