টিএল; ডিআর:
সমাধান (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?