আইটেমটি একটি অ্যারে / তালিকায় রয়েছে কিনা তা পরীক্ষা করুন


203

যদি আমি স্ট্রিংগুলির একটি অ্যারে পেয়েছি তবে আমি forলুপটি না করে কোনও স্ট্রিং অ্যারেটিতে রয়েছে কিনা তা পরীক্ষা করে দেখতে পারি ? বিশেষত, আমি একটি ifবিবৃতিতে এটি করার উপায় খুঁজছি , তাই এরকম কিছু:

if [check that item is in array]:

3
আমার মনে হয় এখানে
তারুন অ্যান্ডি

1
বা ভাল এখানে: stackoverflow.com/questions/12934190/...
torina

উত্তর:


394

ধরে নেওয়া আপনার অর্থ "তালিকা" যেখানে আপনি "অ্যারে" বলছেন, আপনি এটি করতে পারেন

if item in my_list:
    # whatever

এটি কেবল তালিকার জন্য নয়, কোনও সংগ্রহের জন্য কাজ করে। অভিধানগুলির জন্য, এটি প্রদত্ত কীটি অভিধানে উপস্থিত রয়েছে কিনা তা পরীক্ষা করে।


1
@ জেডি, এবং সেই লুপটি পাইথনে স্পষ্টভাবে কোডেড কোডের চেয়ে আরও দ্রুত চলবে, পড়তে সহজ হওয়ার কথা উল্লেখ না করে।
মার্ক রান্সম

17

আমি ধরে নিতে চলেছি যে আপনি যখন "অ্যারে" বলবেন তখন আপনার অর্থ "তালিকা" হবে। সোভেন মার্নচের সমাধান ভাল। আপনি যদি তালিকায় বারবার চেক করতে যাচ্ছেন তবে এটি সেট বা ফ্রোজেনসেটে রূপান্তরিত হতে পারে, যা প্রতিটি চেকের জন্য দ্রুত হতে পারে। আপনার স্টারদের তালিকা ধরে নেওয়া হয় subjects:

subject_set = frozenset(subjects)
if query in subject_set:
    # whatever

3

একটি ল্যাম্বদা ফাংশন ব্যবহার করুন।

ধরা যাক আপনার একটি অ্যারে রয়েছে:

nums = [0,1,5]

5 আছে কিনা তা পরীক্ষা করুন nums:

(len(filter (lambda x : x == 5, nums)) > 0)

এই সমাধানটি আরও মজবুত। নির্দিষ্ট শর্তটি সন্তুষ্ট করে এমন কোনও নম্বর আপনার অ্যারেতে রয়েছে কিনা তা আপনি এখন পরীক্ষা করতে পারেন nums

উদাহরণস্বরূপ, 5 এর চেয়ে বড় বা সমান যে কোনও সংখ্যা এখানে বিদ্যমান কিনা তা পরীক্ষা করুন nums:

(len(filter (lambda x : x >= 5, nums)) > 0)

এটি পাইথন 2 নিয়ে কাজ করে। পাইথন ৩.7 এর সাহায্যে আপনি এই ত্রুটিটি পাবেন:TypeError: object of type 'filter' has no len()
জুন 711

1

অ্যারেগুলির জন্য আপনাকে। মূল্যগুলি ব্যবহার করতে হবে। উদাহরণস্বরূপ বলুন যে আপনার কাছে ডেটাফ্রেম রয়েছে যার একটি কলামের নাম রয়েছে, পরীক্ষা ['নাম'], আপনি এটি করতে পারেন

if name in test['Name'].values :
   print(name)

একটি সাধারণ তালিকার জন্য আপনাকে। মূল্যগুলি ব্যবহার করতে হবে না


আমি মনে করি। মানগুলি ব্যবহার করার জন্য আপনার একটি পান্ডাস ডেটা ফ্রেম অবজেক্ট দরকার।
Troymyname00

-3

আপনি অ্যারের জন্য একই বাক্য গঠন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, একটি পান্ডাস সিরিজের মধ্যে অনুসন্ধান করা:

ser = pd.Series(['some', 'strings', 'to', 'query'])

if item in ser.values:
    # do stuff
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.