夜のPython - 2泊 - クロール
私はMaoxiongはいつも私の幻想を中断し、夜......彼はカタツムリであることを想像するために使用、小さなシェルは雨、自堕落な川や湖を恐れていない、風を恐れ、独自のを持って、広く旅:「自堕落な旅を?? !あなたが僧侶を登るために持っている「私はMaoxiongの夜に言うことを知っているので、機会を利用冗談を言った:」、ドアを引退したPythonは「(:パイソン=のpython注)私は爬虫類されていませんか?
「ああ、良い英語ああ。」
「何をあなたと私を賞賛している?」うわー、夜Maoxiongは賞賛を得る、私はより多くの百分の三以上の髪を感じて幸せ。
ナイトMaoxiongだけアイドル、私のセグメントセット、タプル、速度比較を実行中のプログラムのリストを与えます:
1つの #は/ usr / binに/のenvのpython3! 2 #- * -コーディング= UTF-8 - * - 3 インポートはtimeit 4 5 デフfunc_use_set(): 6 N = 1000 7つの 番号= 設定(レンジ(N)) 8 のための数値1 で:番号 9 のための数値2 における番号: 10の パス 11 12 DEF :func_use_tuple() 13 N = 1000の 14 数= タプル(レンジ(N)) 15 のための数値1 で番号: 16 のための数値2 における番号: 17の パス 18 19 デフfunc_use_list(): 20 N = 1000 21 数= リスト(レンジ(N)) 22 のための数値1 における番号: 23 のための数値2 における番号: 24の パス 25 26 27 なら __name__ == ' __main__ ' : 28 プリント(' 設定:'、timeit.timeit(STMT = func_use_set、数= 10)、' S ' ) 29 プリント(' タプル:'、timeit.timeit(STMT = func_use_tuple、数= 10)、' S ' ) 30 プリント(' リスト:'、timeit.timeit(STMT = func_use_list、数= 10)、' S ')
このコードを与えられたとき、夜Maoxiongはあなたがスピードランキングを思いますか、私に尋ねましたか?
「もちろん、最速の横断時間を設定し、その後、タプル<リスト<設定。」私は多分それの自然な信頼ファンを持っている、口走っ。
「あなたはよろしいですか?ああ......」夜Maoxiongのねじれは思慮深く彼の髭をねじる、「あなたは試したことがありますか?」
「いいえ、ああ、友人は言います。」
「ふざけんなよ!あなたが信じて試していない??」ナイトMaoxiongは突然、単純にピアスキーボードを置く、キーボードのEnterキーを押します。
数秒後、コンソール出力データを以下に示します。
1セット:0.5598647409997284 S 2組:0.5289756949996445 S 3リスト:0.4945050540000011秒
「あ?これは何ですか?」私の世界観が崩壊した......
私は......結果なしで長い時間を変更するためにN 10000、Maoxiongがきしみの悲鳴を発行した3つのも実行スワップビットハード夜の規模を増加させようとした、私は再び数を変更します5に、以下のデータがあります。
1リスト:24.5941286340003 S 2組:24.454961858999923 S 3セット:26.473167070000272秒
何度も試してみました、結果は>タプル≈リストを設定されています。この時間は、私は唖然とした:「夜Maoxiongは、あなたが密かにPythonのソースコードを変更していないですか?」
「ああ、あなたは、シェーンは、戻って、独自の 『カタツムリの殻』それを試してみるを取得したいです!」
私は、一般的にそのようなセット、タプル、リストとしてPythonの車両に使用と思った......私は理解していないと思い、それらをのdict、私はそれらを理解し、私はまた、コードは、世界の海で何でもできると思います結果は、実際には、それは小さなカタツムリの殻を積んで、そしてパイソン計り知れないほどああ。
ナイトMaoxiongキーボードを鳴らすと、プログラムは以下のようになっています。
1つの #は/ usr / binに/のenvのpython3! 2 #- * -コーディング= UTF-8 - * - 3 インポートはtimeit 4 インポートランダム 5 6 デフfunc_use_set(): 7 N = 5000 8 数= 設定(レンジ(N)) 9 ための番号1 で番号: 10 _ = random.randint(0、N-1)に数字 11 12 DEF func_use_tuple(): 13 N = 5000 14 数= タプル(レンジ(N)) 15 のための数値1 で番号: 16 _ = random.randint(0、N-1)に数字 17 18 デフfunc_use_list(): 19 N = 5000 20 数= リスト(レンジ(N)) 21 のための数値1 における番号: 22 _ =ランダム.randint(0、N-1)に数字 23 24 25 なら __name__ == ' __main__ ' : 26 プリント(' リスト:'、timeit.timeit(STMT = func_use_list、数= 10)、' S ' ) 27 プリント(' タプル:'、timeit.timeit(STMT = func_use_tuple、数= 10)、' S ' ) 28 プリント(' 設定:'、timeit.timeit(STMT = func_use_set、数= 10)、' S ')
「今推測来る、推測賞品ああ〜」夜Maoxiongは、smirkedそれはワンダーランドチェシャ猫鳥にアリスのように、本当に奇妙に見えます。
「私は......私は......私は......ああ、すごい......」私はスチュアートの王になった、馬は直進落ちました。プログラムの結果:
1リスト:2.305914190999829 S 2組:2.242317064999952 の 3セット:0.49790156399831176秒
ああ、この戦いは最終的に彼の馬からタプルやリストカットの4倍以上の性能に光を設定しています。私はタプルのリストは確かに少し速くよりも優れているが、それでも「≈」レベルで、何度か試してみました。
「それを理解する。」ねえ、夜Maoxiong笑顔。
「あなたがああ説明するのを待っている?何を理解して......」私は混乱し始めました。
、私の結論を覆すことができるかもしれない「また練習はああ完璧になりますでしょうか?について話しました。私はそのようなどのように他の人を知りませんが、私、このテストの結果がそのようである、あなたはまた、他の方法を試すことができます。全体的に、のように設定しますそこにハッシュテーブルなので、高速動作を探したが、その後トラバースダイに。「見た目」と、「速い」の条件区別されている「トラバース」、このように同じデータセットを格納していないような価格、でてきます。」
「ああ、私は学んだ、しかし......ねえ、私はまだインデントカタツムリの殻は、スリープ状態に入る......」私は、あくび「私は夜の猫ではないです、私はスリープ状態に持っています。」
「まあ、国立成功大学にハード!」
夜のPython、二日目の夜、2019年10月19日。