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

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

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

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

Q&A

1回答

826閲覧

リストの中に複数のリストを作成する方法

coala

総合スコア8

Python

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

0グッド

0クリップ

投稿2021/05/28 01:17

テキストファイルからデータを読み取りその内容をリストの中に収めたいのですが、全てのデータの内容が一つのリストの内に収まってしまいます。
テキストファイルには2つの要素がありますのでリストの中でも分けて抽出したいと考えています。

テキストファイルの内容
{list:{"text":"@jjどぶどぶ","place":"長野","count":3813},{"text":"apple","place":null,"count":33}}

info = [] for element in list: info_1 = dict(text=element['text'], place=str(element['place']), count=str(tweet['count'])) for key, value in tweet_info_1.items(): tweet_info.append(key +' : ' + value)

出したい結果
[[text:@jjどぶどぶ, place:'長野', count:3813], [text:'apple', place:None, count:33]]

リストの中に2つのリストを作るにはどのようにすればいいのでしょうか。
よろしくお願い致します。

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

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

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

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

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

quickquip

2021/05/28 01:27

ファイルに出力しているところのソースが欠けています。
udon-ken

2021/05/28 01:30

出したい結果というのは、以下の形の文字列ですか?? [[text:@jjどぶどぶ, place:'長野', count:3813], [text:'apple', place:None, count:33]] それとも…辞書とかリストですか?? 辞書とかリストという事でしたら、 obj = [[text:@jjどぶどぶ, place:'長野', count:3813], [text:'apple', place:None, count:33]] としてみると分かると思いますが、エラーになりますので、当然こういうものは作れません。 質問文中の表現も、辞書とリストがあやふやですので、そのあたり整理して下さい。
coala

2021/05/28 01:34

json ファイル内は辞書で羅列されていますが、Python内ではリストとして出力したいと思っています。
quickquip

2021/05/28 01:39

前の依頼 > ファイルに出力しているところのソースが欠けています。 直前の質問に引っ張られてしまいました。すみません。 ファイルから読みこんでいるところのソースが欠けています。 でしたね。
quickquip

2021/05/28 01:40

> 質問文中の表現も、辞書とリストがあやふやですので、そのあたり整理して下さい。 を無視していませんか?
udon-ken

2021/05/28 01:41

そうであれば、 my_list = [[text:@jjどぶどぶ, place:'長野', count:3813], [text:'apple', place:None, count:33]] みたいな形で、手元でテストした上でエラーにならないように提示して下さい。 先にも述べましたとおり、エラーになる値はどうやっても作れません。
guest

回答1

0

他の方の回答の通り、textファイルのデータが辞書型ではない(syntaxerror)ので、
もし質問にあるような下記テキスト形式なのであれば、

python

1{ 2 list:{ 3 "text":"@jjどぶどぶ","place":"長野","count":3813 4 }, 5 { 6 "text":"apple","place":null,"count":33 7 } 8}

下記のようにlist: {をけして、最初と最後を[]で閉じれば良いような気がします。

python

1# list: の表記をやめて配列に加工する 2[ 3 {"text":"@jjどぶどぶ","place":"長野","count":3813}, 4 {"text":"apple","place":None,"count":33} 5]

また辞書では同じキーが存在する場合forループで回した際に最後の要素しか取得しない仕様なので、
もし下記のデータ形式の場合であってもreplaceなどで"list": 表記を消しつつ、最初と最後を[]で閉じれば良いと思います。

python

1{ 2 "list":{ 3 "text":"@jjどぶどぶ","place":"長野","count":3813 4 }, 5 "list": { 6 "text":"apple","place":null,"count":33 7 } 8}

投稿2021/05/30 01:16

m2l

総合スコア318

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問