data[0]からdata[4],まであるとする
data[1]に置いて
ランダムな2つの値の差が5以下であればパターンとして出力, また個数をカウントするプログラムが作りたいです
4
12
16
18
19
の場合
[12,16][16,18][16,19][18,19]と出力させたいです!!!!!!!!!!!!!
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
- 列のランダムな2つの値の差 https://teratail.com/questions/166556
とは違う質問でしょうか?
違う内容の質問なら、
どこが異なっているのか? と
ご自身で試してみたコード(エラーが出ていてもよいです) を提示してください。
投稿2018/12/30 08:24
総合スコア22324
0
素直に書いてみました。
python3
1data = [4, 12, 16, 18, 19] 2 3ans = [] 4for i in range(0, len(data)): 5 for j in range(i + 1, len(data)): 6 if abs(data[i] - data[j]) < 6: 7 ans.append([data[i], data[j]]) 8 9print(ans)
追記
コードの意味をすこし説明します。
概要
data から異なる2つの要素のペアすべて作り出し、そのペアの値の差が 5 以下なら、結果の追加をしていきます。
詳細
まず ans は [] に初期化します。
ペアの生成は data の index ペアを 2 重の for でつくります。
2番目の index を 0 版... data の最後 で変化させます。
1番目の index を i番目mの index の次 ... data の最後 で変化させます。
2 つの要素の差は abs() で計算します。
条件に適合したペアを ans に append で追加します。
投稿2018/12/30 10:59
編集2018/12/30 21:18総合スコア22324
0
ベストアンサー
サンキューぼくじょう
投稿2018/12/30 12:30
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/31 00:14
2019/01/04 01:33
退会済みユーザー
2019/01/08 01:42
2019/01/08 02:30
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/12/30 10:24
2018/12/31 08:08