টিএল; ডিআর:
সমাধান (1)
import numpy as np
main_list = np.setdiff1d(list_2,list_1)
# yields the elements in `list_2` that are NOT in `list_1`
সমাধান (2) আপনি একটি বাছাই তালিকা চান
def setdiff_sorted(array1,array2,assume_unique=False):
ans = np.setdiff1d(array1,array2,assume_unique).tolist()
if assume_unique:
return sorted(ans)
return ans
main_list = setdiff_sorted(list_2,list_1)
ব্যাখ্যা:
(1) আপনি NumPy এর ব্যবহার করতে পারেন setdiff1d
( array1
, array2
, assume_unique
= False
)।
assume_unique
ব্যবহারকারীদের জিজ্ঞাসা করুন যদি অ্যারেগুলি আগেই অনন্য হয়।
যদি False
, তবে অনন্য উপাদানগুলি প্রথমে নির্ধারিত হয়।
যদি True
, ফাংশনটি ধরে নিবে যে উপাদানগুলি ইতিমধ্যে অনন্য এবং ফাংশনটি অনন্য উপাদানগুলি নির্ধারণ করতে এড়িয়ে যাবে।
এই উৎপাদনের অনন্য মান array1
যে হয় না এ array2
। assume_unique
হয় False
ডিফল্টরূপে।
যদি আপনি অনন্য উপাদানগুলির সাথে চিন্তিত হন ( চিনি 84 এর প্রতিক্রিয়ার ভিত্তিতে ), তবে কেবল (যেখানে assume_unique=False
=> ডিফল্ট মান) ব্যবহার করুন:
import numpy as np
list_1 = ["a", "b", "c", "d", "e"]
list_2 = ["a", "f", "c", "m"]
main_list = np.setdiff1d(list_2,list_1)
# yields the elements in `list_2` that are NOT in `list_1`
(২)
যারা উত্তরগুলি বাছাই করতে চান তাদের জন্য, আমি একটি কাস্টম ফাংশন করেছি:
import numpy as np
def setdiff_sorted(array1,array2,assume_unique=False):
ans = np.setdiff1d(array1,array2,assume_unique).tolist()
if assume_unique:
return sorted(ans)
return ans
উত্তর পেতে, চালান:
main_list = setdiff_sorted(list_2,list_1)
সাইড নোট:
(ক) সমাধান 2 (কাস্টম ফাংশন setdiff_sorted
) একটি তালিকা দেয় ( সমাধান 1 এর অ্যারের তুলনায় )।
(খ) আপনি যদি উপাদানগুলি অনন্য কিনা তা নিশ্চিত না হন তবে কেবলমাত্র setdiff1d
এ এবং বি উভয় সমাধানে নুমপি'র ডিফল্ট সেটিংটি ব্যবহার করুন কোনও জটিলতার উদাহরণ কী হতে পারে? নোট দেখুন (গ)।
(গ) দুটি তালিকার একটিরও অনন্য না হলে বিষয়গুলি পৃথক হবে ।
বলুন list_2
অনন্য নয়: list2 = ["a", "f", "c", "m", "m"]
। list1
হিসাবে রাখুন : ফলনের list_1 = ["a", "b", "c", "d", "e"]
ডিফল্ট মান নির্ধারণ (উভয় সমাধানে)। যাইহোক, যদি আপনি সেট করেন তবে উভয় সমাধানই দেয় । কেন? এটি ব্যবহারকারীর মনে হয়েছে যে উপাদানগুলি অনন্য। সুতরাং, এটি রাখা ভালassume_unique
["f", "m"]
assume_unique=True
["f", "m", "m"]
assume_unique
এর ডিফল্ট মান। মনে রাখবেন যে উভয় উত্তর বাছাই করা হয়।
পাইথনnumpy
list_2
সেই উপাদানগুলির সন্ধান করছেন যা কোথাও উপস্থিত নেইlist_1
বা উপাদানগুলিlist_2
একই সূচকটিতে উপস্থিত নেইlist_1
?