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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

449閲覧

2重リストを形状を保持したまま1重リストに変換したい

hidemomo

総合スコア31

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/01/15 06:47

編集2020/01/15 06:50

2重リストの形状で5000の要素の中にそれぞれ別の要素が入っています。これを現状の5000の形状を保持したまま1重リストに変換したいです。

###データ形状
[['スーパードライ', 'ASAHI', 'BREWERIES', 'LIMITED'],
['TaKaRa', 'CAN', 'CHU', 'HI', '搾る'],
['焼き肉', 'たれる', 'こだわり', '食', '感', 'のせる', '巻く', '玉ねぎ', 'ガーリック'],
・・・
]

###望んでいる形状
['スーパードライ', 'ASAHI', 'BREWERIES', 'LIMITED',
'TaKaRa', 'CAN', 'CHU', 'HI', '搾る',
'焼き肉', 'たれる', 'こだわり', '食', '感', 'のせる', '巻く', '玉ねぎ', 'ガーリック'
・・
]
各要素をカンマ区切りで形状を保持したまま、内側の[]を外し1重リストに変換したいです。
これからの計算のため単純にベタな1重リスト(flatten等)にするのは避けたいです。

よろしくお願いします。

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

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

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

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

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

guest

回答2

0

自己解決

下記で可能でした。

lst = [['スーパードライ', 'ASAHI', 'BREWERIES', 'LIMITED'],
['TaKaRa', 'CAN', 'CHU', 'HI', '搾る'],
['焼き肉', 'たれる', 'こだわり', '食', '感', 'のせる', '巻く', '玉ねぎ', 'ガーリック'],
・・・
]

lst2 = []

for wrd in lst:
wrd = ','.join(wrd)
lst2.append(wrd)

投稿2020/01/15 07:08

hidemomo

総合スコア31

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

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

shiracamus

2020/01/15 07:17 編集

望んでいる形状と同じですか? ['スーパードライ,ASAHI,BREWERIES,LIMITED', 'TaKaRa,CAN,CHU,HI,搾る', '焼き肉,たれる,こだわり,食,感,のせる,巻く,玉ねぎ,ガーリック']
hidemomo

2020/01/15 08:25

私の質問や希望形状が違っており混乱させてすいません。 正確には、内側リスト→文字列、にして外側リストは保持する、でした。 お時間を割いていただきありがとうございました。
shiracamus

2020/01/15 08:32 編集

それなら lst2 = [','.join(wrd) for wrd in lst] と1行で書くこともできます。 lst2 = [*map(','.join, lst)] でもいけました。
hidemomo

2020/01/15 08:49

1行で書けるなんて素晴らしい! これから参考にさせていただきます。 本当にありがとうございます。
guest

0

形状とは、printしたときの形状ですか?
標準のリストに形状はないので無理です。
自分でリストのサブクラスを作って、各列毎の長さを持つようにすればいけるかもしれません。
内部は二重リストで保持して、挿入・追加・削除・文字列化は一重リストのように振る舞うとか。

投稿2020/01/15 06:54

編集2020/01/15 06:58
shiracamus

総合スコア5406

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

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

hidemomo

2020/01/15 07:08

ありがとうございます。 私の表現が良くなかったですね。 下記で可能になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問