আমার 20000 টির মতো তালিকা সমন্বিত একটি তালিকা রয়েছে have আমি প্রতিটি তালিকার তৃতীয় উপাদানটিকে পতাকা হিসাবে ব্যবহার করি। আমি এই তালিকায় কিছু অপারেশন করতে চাই যতক্ষণ না কমপক্ষে একটি উপাদানের পতাকা 0 হয়, এটি এর মতো:
my_list = [["a", "b", 0], ["c", "d", 0], ["e", "f", 0], .....]
শুরুতে, সমস্ত পতাকা 0 হয় at কমপক্ষে একটি উপাদানটির পতাকা 0 আছে কিনা তা পরীক্ষা করতে আমি কিছুক্ষণ লুপ ব্যবহার করি use
def check(list_):
for item in list_:
if item[2] == 0:
return True
return False
যদি check(my_list)ফিরে আসে Trueতবে আমি আমার তালিকায় কাজ চালিয়ে যাব:
while check(my_list):
for item in my_list:
if condition:
item[2] = 1
else:
do_sth()
প্রকৃতপক্ষে, আমি আমার_লিস্টের কোনও উপাদানটি পুনরাবৃত্ত হওয়ার সাথে সাথে সরিয়ে ফেলতে চেয়েছিলাম, তবে এটি পুনরাবৃত্তি করার সাথে সাথে আইটেমগুলি সরাতে আমার অনুমতি নেই।
আসল মাই_লিস্টে পতাকা নেই:
my_list = [["a", "b"], ["c", "d"], ["e", "f"], .....]
যেহেতু আমি এটিগুলি পুনরাবৃত্তি করার সাথে সাথে উপাদানগুলি সরাতে পারিনি, তাই আমি এই পতাকাগুলি আবিষ্কার করেছি। তবে my_listএতে অনেকগুলি আইটেম রয়েছে এবং whileপ্রতিটি forলুপে লুপগুলি সমস্ত পড়ে এবং এতে প্রচুর সময় ব্যয় হয়! আপনার কি কোন পরামর্শ আছে?
Noneবা []এটিকে প্রতিস্থাপন করতে পারেন । অভ্যন্তরীণ লুপের প্রতিটি পাসের আগে সমস্ত আইটেমটি পুনরুদ্ধার করে 'চেক () with দিয়ে পুরো তালিকাটি পরীক্ষা করা খুব ধীর পদ্ধতির।