উত্তর:
আপনি যদি কেবল প্রথম নম্বরটি মেলাতে চান তবে আপনি এটি এটি করতে পারেন:
[item for item in a if item[0] == 1]
আপনি যদি কেবল তাদের মধ্যে 1 টি দিয়ে টিপলগুলি অনুসন্ধান করে থাকেন:
[item for item in a if 1 in item]
এটি করার একটি প্রকৃতপক্ষে উপায় আছে যা টিউপসগুলির যে কোনও তালিকার জন্য কার্যকর যেখানে প্রতিটি টিপলের আকার 2 হয়: আপনি আপনার তালিকাটিকে একক অভিধানে রূপান্তর করতে পারেন।
উদাহরণ স্বরূপ,
test = [("hi", 1), ("there", 2)]
test = dict(test)
print test["hi"] # prints 1
dict(X)
এক্সকে এমন একটি অভিধানে রূপান্তরিত করে যেখানে কোনও সাধারণ প্রথম উপাদানটির শেষ টিপল, ব্যবহৃত হয় এমন মান। ওপি-র উদাহরণে এটি (1,4) এবং (1,4) উভয়ের বিপরীতে (1,4) ফিরে আসবে।
তালিকা সমঝোতার উপর পড়ুন
[ (x,y) for x, y in a if x == 1 ]
জেনারেটর ফাংশন এবং yield
বিবৃতি আপ পড়ুন ।
def filter_value( someList, value ):
for x, y in someList:
if x == value :
yield x,y
result= list( filter_value( a, 1 ) )
if x == 1
হওয়া উচিতif x == value
[tup for tup in a if tup[0] == 1]
for item in a:
if 1 in item:
print item
filter
ফাংশন এছাড়াও একটি আকর্ষণীয় সমাধান প্রদান করতে পারেন:
result = list(filter(lambda x: x.count(1) > 0, a))
যা কোনও ঘটনার জন্য তালিকায় টিপলগুলি অনুসন্ধান করে 1
। যদি অনুসন্ধানটি প্রথম উপাদানের মধ্যে সীমাবদ্ধ থাকে তবে সমাধানটি এতে রূপান্তর করা যেতে পারে:
result = list(filter(lambda x: x[0] == 1, a))
অথবা takewhile
, (এটির সাথে আরও মানগুলির উদাহরণ দেখানো হয়েছে):
>>> a= [(1,2),(1,4),(3,5),(5,7),(0,2)]
>>> import itertools
>>> list(itertools.takewhile(lambda x: x[0]==1,a))
[(1, 2), (1, 4)]
>>>
যদি মীমাংসিত না হয় তবে:
>>> a= [(1,2),(3,5),(1,4),(5,7)]
>>> import itertools
>>> list(itertools.takewhile(lambda x: x[0]==1,sorted(a,key=lambda x: x[0]==1)))
[(1, 2), (1, 4)]
>>>
আপনি যদি টুপলে উপস্থিত কোনও সংখ্যার জন্য টুপল অনুসন্ধান করতে চান তবে আপনি এটি ব্যবহার করতে পারেন
a= [(1,2),(1,4),(3,5),(5,7)]
i=1
result=[]
for j in a:
if i in j:
result.append(j)
print(result)
আপনি if i==j[0] or i==j[index]
যদি বিশেষ সূচকে কোনও নম্বর অনুসন্ধান করতে চান তবে আপনি এটিও ব্যবহার করতে পারেন