質問
複数行あるリストの中身を抽出し、数の比較をしたい
リストの項数も複数あるため、要素の抽出方法がわからない
問題
リストの中身の数が、10以上なら5、9以下なら0を表示させる。
a: リストの行数
b: リストの各行の項数の数
c: リストの中身
問題)
a = 3
b =2
c = [['10', '9'],
['9', '10'],
['10', '9']]
期待する出力)
5 0
0 5
5 0
※数字の間は半角スペース
私の答え)
d = []
for one in c:
for x in one:
x = int(x)
if x >= 10:
x = 5
d.append(x)
else:
x = 0
d.append(x)
出力値)
[5, 0, 0, 5, 5, 0]
疑問点)
どのようなコードを書けば、期待する出力値のようになるのか。
ご教授お願いいたします。
数名の方から回答を頂きました。ありがとうございます。
初心者のため時間はかかりますが、皆さまの回答を自分の知識に吸収できるようにしたいと思います。
まず、LouiS0616さんからのコードを参考にさせて頂きました。
勉強で不足で申し訳ないですが、イメージ図の赤囲みのコードの理解が曖昧な状態です。
最初の2つは、以下のような解釈で合っているでしょうか?
また、最後の1つは全く見当がつきません。
重ね重ね大変恐縮でございますが、教えて頂ければ幸いです。
17行目 d.append([])
リスト中身を []で区切る
32行目 d[-1].append(x)
リストd の最終項まで追加する
36行目 for one in d:
print(*one)
print((*one)) は何を示しているのか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/07 05:59
2018/04/07 06:02
2018/04/07 06:08
2018/04/10 04:08