blog.monophile.net

コンピュータのこととかのメモ。

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS] においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。

work

各種システム構築と管理を承ります。

Cloud PlatformOpenstack, GCP, AWS, Azure, ...
Openstackkeystone, glance, cinder, swift, neutron, nova, ...
VirtualizationQEMU+KVM, LXD/LXC, Docker, ...
OSDebian GNU/Linux, Ubuntu, CentOS, ...
NetworksIPSec, L2TP, VXLAN, WirelessAP, ...
WebAppsWordPress, GitLab, Redmine, ...
Configuration ManagementAnsible, Terraform, ...
MonitoringNagios, Munin, ...

posts

pythonでヒープソート

pythonではSortedList的なものが標準モジュールにないみたいで、 ちょこっと工夫しないといけないみたいです。 bisectを使う方法ではSortedListに近くなりますが、 いろんな要素をポンポン追加して、最小の値だけを取り出したい! なんていうときはheapqを使えば良いみたいです。 (友だちに教えてもらいました。)

code

import random
import heapq

dim = 10
rands = [ random.randint(0, 100) for _ in range(dim) ]
print("# before heapq")
print(", ".join(map(str, rands)))
heapq.heapify(rands)
print("# after heapq")
print(", ".join(str(heapq.heappop(rands)) for _ in range(dim)))

out

# before heapq
85, 69, 60, 90, 37, 42, 65, 18, 37, 74
# after heapq
18, 37, 37, 42, 60, 65, 69, 74, 85, 90