黒縁眼鏡は海を飛ぶ

IT中心にそこはかとなく

文字列の中に出現する英小文字の最大数 in Python

CheckIOやってて、「文字列の中に最も出現する英字を出力してね。ただし、数が同じ英字が複数ある場合はアルファベット順に若いものを出力してね」という問題があって、forとかifとか頭捻りながらやってたけど、

import string

text = "Hello, world!"
text = text.lower()
print(max(string.ascii_lowercase, key=text.count)) # => l

string.ascii_lowercase[a-z]の文字列を返すから、key=text.countで一番出現頻度の高い文字が返せる。 この方法だとmin使った時があれだけど、こんなに簡単に書けるなんて

sudo時にPATHを引き継ぐ

毎回調べて毎回忘れるのでメモ

/etc/sudoersを以下の通り編集。

Defaults env_keep += "PATH"   #追記

...

#Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin #コメントアウト

こう編集すると、sudoを実行するユーザのPATHが全て引き継がれる。
それはやりすぎという場合は、

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

というようにsecure_pathに追記してあげればよろしい。