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

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

新規登録して質問してみよう
ただいま回答率
85.35%
リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

連結リスト

連結リストとは、データ構造のひとつであるリストの中で、要素が前後の要素の情報を持つことで、要素が連結(リンク)しているリストの事を呼びます。

Python

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

Q&A

解決済

4回答

710閲覧

「多重リスト(リストのリスト)の中身を、辞書のリストに変換したい」

KYOGO

総合スコア1

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

連結リスト

連結リストとは、データ構造のひとつであるリストの中で、要素が前後の要素の情報を持つことで、要素が連結(リンク)しているリストの事を呼びます。

Python

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

0グッド

0クリップ

投稿2021/09/08 12:40

前提・実現したいこと

pythonに関する質問です。
「多重リスト(リストのリスト)を、辞書のリストに変換したい」

発生している問題・エラーメッセージ

ループ処理などを使用して、一つずつ変換すべきなのか?

該当のソースコード

Python

1list1 = [[50, 20, 80],[30, 50, 10]] 2```というリストがあり、 3```Python 4list2 = [{1:50, 2:20, 3:80],{1:30, 2:50, 3:10}] 5```というリストを作成したい 6 7### 試したこと 8 9for文など 10 11### 補足情報(FW/ツールのバージョンなど) 12 13python 14googlecolab

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

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

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

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

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

TakaiY

2021/09/08 12:57

試したことがあるのであれば、そのコードを示して、どこがどう上手くいかないのかを書いてください。
guest

回答4

0

解決済ですが、別解を書いておきます。
こういう使い方もあると覚えておいてください。

python

1>>> list1 = [[50, 20, 80],[30, 50, 10]] 2>>> list2 = [dict(enumerate(ls, 1)) for ls in list1] 3>>> print(list2) 4[{1: 50, 2: 20, 3: 80}, {1: 30, 2: 50, 3: 10}]

投稿2021/09/09 02:20

ppaul

総合スコア24670

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

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

KYOGO

2021/09/09 03:32

ありがとうございます。勉強させていただきます。
guest

0

内包表記を使わない例

Python

1list1 = [[50, 20, 80], [30, 50, 10]] 2 3list2 = list(map(lambda x: dict(zip(range(1, len(x) + 1), x)), list1)) 4print(list2)

result

1[{1: 50, 2: 20, 3: 80}, {1: 30, 2: 50, 3: 10}]

投稿2021/09/08 13:28

編集2021/09/08 13:29
Daregada

総合スコア11990

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

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

KYOGO

2021/09/09 03:33

ありがとうございます。勉強させていただきます。
guest

0

基本的なことだけどね・・・

python

1list1 = [[50, 20, 80],[30, 50, 10]] 2list2 = [] 3for li in list1: 4 dict_temp = {} 5 for k, v in enumerate(li): 6 dict_temp[k + 1] = v 7 list2.append(dict_temp)

投稿2021/09/08 13:02

ikapy

総合スコア1167

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

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

KYOGO

2021/09/08 13:16

投げやりな質問をしてしまったにも関わらず、丁寧にご回答頂きありがとうございます。
guest

0

ベストアンサー

Python

1list1 = [[50, 20, 80],[30, 50, 10]] 2list2 = [{i+1:n for i,n in enumerate(ls)} for ls in list1] 3print(list2) # [{1: 50, 2: 20, 3: 80}, {1: 30, 2: 50, 3: 10}] 4

投稿2021/09/08 13:00

lehshell

総合スコア1156

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

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

KYOGO

2021/09/08 13:16

投げやりな質問をしてしまったにも関わらず、丁寧にご回答頂きありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問