注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Python初学者が引っかかる落とし穴に、 seq = [[]] * 5 seq[0].append('A') print(seq) としたとき、ど... Python初学者が引っかかる落とし穴に、 seq = [[]] * 5 seq[0].append('A') print(seq) としたとき、どのような出力が出るか?というのがある。 一見、 [['A'], [], [], [], []] となりそうだが、実際には [['A'], ['A'], ['A'], ['A'], ['A']] となる。 seq = [[]] * 5 という文はちょっとごちゃごちゃして分かりにくいのでちょっと書き直してみると item = [] seq = [item] * 5 と同じだ。まず空のリストを一つ作成し、そのリストを要素とする長さ1のリストを作る。そして長さ1のリストを *5 して長さ5のリストを作成し、 seq に 代入する。Pythonスクリプトとして書き直すと: def list_mul(seq, n): ret = [] for i in r
2011/04/09 リンク