Q&A
解決済
3回答
3072閲覧
総合スコア72
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
0グッド
0クリップ
投稿2016/05/02 05:46
0
Pythonのリスト型についてわからないことがあります。 教えてくださると幸いです。
変数 a に代入した1321など数桁の数値を、リスト型で1桁ずつ読み取れる仕組みを作りたいと思っています。具体的には、aに代入した1321をリスト型で b = [1,3,2,1]にし、c = b[0]とすると1を出力、d=b[1]とすると3を出力といったかたちです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答3件
内包表記で書いてみました。
python1a=1321 2b=[int(x) for x in str(a)] 3[1, 3, 2, 1]
python
1a=1321 2b=[int(x) for x in str(a)] 3[1, 3, 2, 1]
投稿2016/05/02 07:04
総合スコア553
ベストアンサー
ベタにやるなら次のような感じで。
python1a = 1321 2b = [] 3 4while a > 0: 5 b.insert(0, a % 10) 6 a = a / 10
1a = 1321 2b = [] 3 4while a > 0: 5 b.insert(0, a % 10) 6 a = a / 10
次のように1行でもできまるでしょうか。
python1a = 1321 2b = list(str(a))
1a = 1321 2b = list(str(a))
投稿2016/05/02 06:07
総合スコア4516
3 つの方法を書いてみました。 x.py
a =1321 b = map(lambda x: int(x), list(str(a))) print(b) a = 1321 b = [] while a > 0: b = [a % 10] + b a /= 10 print(b) import math a = 1321 b = map(lambda x: a % pow(10, x) / pow(10, x - 1), range(int(math.log10(a)) + 1, 0, -1)) print(b)
実行例:
$ python x.py [1, 3, 2, 1] [1, 3, 2, 1] [1, 3, 2, 1]
投稿2016/05/02 16:26
総合スコア22328
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.25%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
python リスト型 変数