pythonにおける辞書の作成。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
haana

pythonにおける辞書の作成。

#1

投稿記事 by haana » 10年前

pythonを用いて
aからz
aaからzz
aaaからzzz
と文字列を作るにはどうしたらいいのでしょうか。

数字を扱うのであれば

コード:


for i in range(101):
  print i


とすれば0から100までの数字を羅列できますが、文字列操作がわかりません。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: pythonにおける辞書の作成。

#2

投稿記事 by みけCAT » 10年前

再帰を用いると、比較的楽に作れると思います。

コード:

def zisyo(n):
    if n < 1:
        return
    for c in range(ord("a"), ord("z") + 1):
        if n == 1:
            yield chr(c)
        else:
            for s in zisyo(n - 1):
                yield chr(c) + s

for i in range(1, 3 + 1):
    for s in zisyo(i):
        print(s)
オフトピック
メモ:Pythonのchr/ord関数はASCIIまたはUnicodeを用いるので、a~zの文字コードは連続している。
2. 組み込み関数 — Python 2.7ja1 documentation
2. 組み込み関数 — Python 3.3.6 ドキュメント
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

かずま

Re: pythonにおける辞書の作成。

#3

投稿記事 by かずま » 10年前

こんなのは、いかがですか?

コード:

def proc(s, n):
    if n <= 0:
        print s
    else:
        for i in range(26):
            proc(s + "abcdefghijklmnopqrstuvwxyz"[i], n - 1)
 
for i in range(3):
    proc("", i + 1);

閉鎖

“C言語何でも質問掲示板” へ戻る