TL; ড
for first_item in muh_set: break
পাইথন 3.x এ সর্বোত্তম পন্থা অবশেষ অভিশাপ, গাইডো
তুমি এই কর
পাইথন ৩.x সময়সীমার আরও একটি সেটে আপনাকে স্বাগতম, কব্জি থেকে এক্সট্রাপোলেটেড । অসাধারণ পাইথন 2.x-নির্দিষ্ট প্রতিক্রিয়া । ভিন্ন AChampion 'সমানভাবে সহায়ক গুলি পাইথন 3.x-নির্দিষ্ট প্রতিক্রিয়া , সময় নিচের এছাড়াও সময় উপরে প্রস্তাবিত সমাধান Outlier - যার মধ্যে আছে:
গ্রেট জয়ের জন্য কোড স্নিপেটস
চালু করুন, টিউন করুন, সময় করুন:
from timeit import Timer
stats = [
"for i in range(1000): \n\tfor x in s: \n\t\tbreak",
"for i in range(1000): next(iter(s))",
"for i in range(1000): s.add(s.pop())",
"for i in range(1000): list(s)[0]",
"for i in range(1000): random.sample(s, 1)",
]
for stat in stats:
t = Timer(stat, setup="import random\ns=set(range(100))")
try:
print("Time for %s:\t %f"%(stat, t.timeit(number=1000)))
except:
t.print_exc()
দ্রুত নিরবচ্ছিন্ন সময়হীন সময়
দেখ! দ্রুততম থেকে স্লো স্নিপেটের আদেশ দেওয়া:
$ ./test_get.py
Time for for i in range(1000):
for x in s:
break: 0.249871
Time for for i in range(1000): next(iter(s)): 0.526266
Time for for i in range(1000): s.add(s.pop()): 0.658832
Time for for i in range(1000): list(s)[0]: 4.117106
Time for for i in range(1000): random.sample(s, 1): 21.851104
পুরো পরিবারের মুখোমুখি
আশ্চর্যজনকভাবে, ম্যানুয়াল পুনরাবৃত্তি পরবর্তী দ্রুততম সমাধানের চেয়ে কমপক্ষে দ্বিগুণ দ্রুত থেকে যায়। যদিও ব্যাড ওল্ড পাইথন ২.x দিন থেকে ব্যবধান হ্রাস পেয়েছে (যার মধ্যে ম্যানুয়াল পুনরাবৃত্তি কমপক্ষে চারগুণ দ্রুত ছিল) তবে এটি আমার মধ্যে পিইপি ২০ জিলিয়টকে হতাশ করে যে সবচেয়ে ভার্জোজ সমাধানই সেরা। অন্তত সেটটির প্রথম উপাদানটি বের করার জন্য কোনও সেটকে একটি তালিকায় অন্তত রূপান্তর করা প্রত্যাশার মতো ভয়াবহ। গুইডোকে ধন্যবাদ, তাঁর আলো আমাদেরকে চালিয়ে যেতে পারে may
আশ্চর্যজনকভাবে, আরএনজি-ভিত্তিক সমাধানটি একেবারে ভয়ঙ্কর। তালিকার রূপান্তরটি খারাপ, তবে random
সত্যই ভয়াবহ সস কেক লাগে। র্যান্ডম নাম্বার for শ্বরের পক্ষে এত কিছু ।
আমি কেবল ইচ্ছামত কামনা করি তারা set.get_first()
ইতিমধ্যে আমাদের জন্য একটি পদ্ধতি তৈরি করবে। আপনি যদি এটি পড়ছেন, তারা: "দয়া করে something কিছু করুন" "