質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

836閲覧

Pythonで規則に従ったリストを作成したい

naguchi

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/04/28 11:38

[a01 a01j b01 c01 d01 e01 f01
a02 a02j b02 c02 d02 e02 f02
a03 a03j b03 c03 d03 e03 f03
a04 ...]
という規則に従うリストをPythonで作りたいのですが、全くアイデアが思いつきません...

このような規則性のあるリストを作る際に気をつけるべきことと、具体的なコードを教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2021/04/28 11:42

その規則を文章で示すことはできますか?
meg_

2021/04/28 11:59

> このような規則性のある どんな規則でしょうか?ぱっと見ただけでは分かりません。
naguchi

2021/04/28 11:59

まず大きくは7つの塊が繰り返されています。 それぞれ、最初の1文字目はa,a,b,c,d,e,f 2文字目以降は塊ごとに1ずつ大きくなる自然数、 また、各塊ごとに2つ目は最後にjがつく。 といった規則です。
guest

回答2

0

Python

1max = 5 2ptn = 'a aj b c d e f' 3ans = [c[0]+f'{n:02}'+c[1:] for n in range(1, max+1) for c in ptn.split()] 4print(ans) # ['a01', 'a01j', 'b01', 'c01', 'd01', 'e01', 'f01', 'a02', 'a02j', 'b02', 'c02', 'd02', 'e02', 'f02', 'a03', 'a03j', 'b03', 'c03', 'd03', 'e03', 'f03', 'a04', 'a04j', 'b04', 'c04', 'd04', 'e04', 'f04', 'a05', 'a05j', 'b05', 'c05', 'd05', 'e05', 'f05']

投稿2021/04/28 12:48

lehshell

総合スコア1156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

注意すべきことは、仕様を明確にすることですね。

コードの例はこんな感じです。

python

1>>> nmax = 5 2>>> form = [('a', ''), ('a', 'j'), ('b', ''), ('c', ''), ('d', ''), ('e', ''), ('f', '')] 3>>> result = [pre+f'{i:02}'+post for i in range(1,nmax+1) for pre, post in form] 4>>> print(result) 5['a01', 'a01j', 'b01', 'c01', 'd01', 'e01', 'f01', 'a02', 'a02j', 'b02', 'c02', 'd02', 'e02', 'f02', 'a03', 'a03j', 'b03', 'c03', 'd03', 'e03', 'f03', 'a04', 'a04j', 'b04', 'c04', 'd04', 'e04', 'f04', 'a05', 'a05j', 'b05', 'c05', 'd05', 'e05', 'f05']

投稿2021/04/28 11:59

編集2021/04/28 12:00
ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naguchi

2021/04/29 00:27

ありがとうございます!!とても助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問