আমি বলব যে সরল সমাধান হ'ল *আনপ্যাকিং অপারেটরটি ব্যবহার করে একটি তালিকাতে দুটি রেঞ্জ আনপ্যাক করা :
>>> [*range(6, 10), *range(-9, -5)]
[6, 7, 8, 9, -9, -8, -7, -6]
এটি কেবলমাত্র এই সংক্ষিপ্ত উত্তরটি এখনও প্রস্তাবিত নয়, এটি সর্বাধিক পারফরম্যান্সও, কারণ এটি কেবলমাত্র একটি তালিকা তৈরি করে এবং এতে দুটি কার্যের বাইরে কোনও ফাংশন কল জড়িত না range।
আমি timeitমডিউলটি ব্যবহার করে এই প্রশ্নের উত্তরগুলির সবগুলি পরীক্ষা করে যাচাই করেছি :
উত্তর আইডি পদ্ধতি সময়কালীন ফলাফল
-------------------------------------------------- ------------------------------------------------
(প্রশ্নে) [এক্স x রেঞ্জের জন্য (6,10)] + [y এর জন্য রেঞ্জের জন্য (-9, -5)] প্রতি লুপে 0.843 ইউএসসি
(এই উত্তর) [* পরিসীমা (6, 10), * পরিসর (-9, -5)] প্রতি লুপ 0.509 ইউএসি
61348876 [এক্স এর জন্য পরিসীমা জন্য (6,10) y এর জন্য (x, -x)] প্রতি লুপে 0.754 ইউজেক
61349149 তালিকা (রেঞ্জ_উইট_নেগভেটিভস (6, 10%) 0.795 ইউএসসি লুপ প্রতি
61348914 তালিকা (itertools.chain (পরিসর (6, 10), পরিসীমা (-9, -5))) প্রতি লুপ 0.709 ইউএসসি
61366995 [সাইন জন্য এক্স সাইন ইন, ইটারটোউলস এক্স প্রডাক্টে এক্স ((- 1, 1), পরিসীমা (6, 10%)]] প্রতি লুপ 0.899 ইউআরসি
61371302 তালিকা (পরিসীমা (6, 10)) + তালিকা (পরিসীমা (-9, -5)) প্রতি লুপ 0.729 ইউএসসি
61367180 তালিকা (রেঞ্জ_উইথ_নেগস (6, 10%) প্রতি লুপ 1.95 ইউএসসি)
(টাইমিট টেস্টিংটি আমার নিজের কম্পিউটারে পাইথন ৩.6.৯ দিয়ে সঞ্চালিত হয়েছে (গড় চশমা))