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

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

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

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

Q&A

解決済

2回答

316閲覧

ある数値以下の間隔の場合にリストを結合したい

taka3391

総合スコア5

Python

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

0グッド

0クリップ

投稿2023/03/20 22:23

実現したいこと

以下のような2次元リストがあります。各要素の1つ目は開始秒数、2つ目は終了秒数を表しているものとします。

[[0, 3], [3.2, 5], [5.3, 7], [8, 9], [9.3, 10]]

このとき、ある終了秒数から次の開始秒数が0.5以下の場合に、リストを結合したいです。
例えば上記の例ですと、

[[0, 7], [8, 10]]

という出力が期待する結果になります。
必ず開始秒数と終了秒数はペアで存在しますが、リストの個数は不定です。

上記を実現するにはどのようなコードになるか教えて頂けないでしょうか。

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

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

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

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

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

guest

回答2

0

ベストアンサー

list2に結果を格納します。以下のようにしてください・

python3

1list1 = [[0, 3], [3.2, 5], [5.3, 7], [8, 9], [9.3, 10]] 2list2 = [] 3list2.append(list1[0]) 4for x in list1[1:]: 5 if x[0] - list2[-1][1] > 0.5: 6 list2.append(x) 7 else: 8 list2[-1][1] = x[1] 9print(list2) 10

実行結果
[[0, 7], [8, 10]]

投稿2023/03/21 00:54

tatsu99

総合スコア5438

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

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

0

ChatGPTの回答

以下はPythonでリストを結合するためのコード例です。

Python

1intervals = [[0, 3], [3.2, 5], [5.3, 7], [8, 9], [9.3, 10]] 2merged_intervals = [] 3start = intervals[0][0] 4end = intervals[0][1] 5 6for interval in intervals[1:]: 7 if interval[0] - end <= 0.5: 8 end = interval[1] 9 else: 10 merged_intervals.append([start, end]) 11 start = interval[0] 12 end = interval[1] 13 14merged_intervals.append([start, end]) 15print(merged_intervals)

上記のコードでは、まず最初の区間を取り出して開始秒数と終了秒数を変数startとendに格納します。その後、forループでリストの要素を1つずつ処理し、現在の区間の開始秒数と前の区間の終了秒数の差が0.5以下の場合はリストを結合します。差が0.5以上の場合は現在の区間を新しい区間としてmerged_intervalsリストに追加し、startとendを更新します。最後に、最後の区間をmerged_intervalsリストに追加しています。

投稿2023/03/20 23:17

can110

総合スコア38266

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問