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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

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

PyCharm

エディター・開発ツール

Q&A

解決済

1回答

879閲覧

python 関数の返り値の型がdictからlistになる

YugoNakashima

総合スコア42

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

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

PyCharm

エディター・開発ツール

0グッド

0クリップ

投稿2019/03/30 12:14

■やりたいこと
以下の関数の返り値をdict型で返したい

■エラー
何故かlist型で返ってきてしまう

■詳細
①このようなDBにクエリを投げ、成形して投げ返す関数を作成。

python

1def test_get_sql_data(company_name): 2 result = {} 3 for each_media in media_list: 4 query = c.execute('select c.name,j.title,j.url from {0}_companies c inner join {0}_jobs j on c.id = j.company_id where c.name = "{1}" '.format(each_media, company_name)) 5 data = query.fetchall() 6 if len(data) >0: 7 inner_result = [] 8 for i in data[0:3]: 9 company_result = '・{0}:<{1}|:arrow_upper_right:>'.format(i[1], i[2]) 10 inner_result.append(company_result) 11 result.update({each_media : inner_result}) 12 else: 13 result.update({each_media : ["掲載はありません。"]}) 14 return result

②Jupyterを使い関数のテストをし、アプリに組み込みました。

③JupyterNoteBookにて関数を直接実行しているときの返り値はdict型なのですが、アプリに入れて別ファイルから実行すると、なぜか返り値がlist型になってしまいます。(関係ないと思いますがPyCharmを利用)

原因やエラー潰しこみの為のアクションを教えて頂けますと助かります。

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

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

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

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

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

ikedas

2019/03/31 01:18

返り値そのものはどのように変わりますか。具体的な例を質問文に追記してください。
YugoNakashima

2019/03/31 01:59

すみません、時間を置いて見てみると解決いたしました。 importで関数を別ファイルから読み込んでいたのですが、同じファイル内の下に以前テストで作っていた関数が同じ名前で入っておりまして、それをひたすら読み込んでたみたいです。。。
ikedas

2019/03/31 02:03 編集

では、それをご自分で回答に書いて、ベストアンサー (解決した方法) にしてくださいますか。 あ、もうしていただいてましたね。了解です。
guest

回答1

0

自己解決

importで関数を別ファイルから読み込んでいたのですが、同じファイル内の下に以前テストで作っていた関数が同じ名前で入っておりまして、それをひたすら読み込んでたみたいです。。。

投稿2019/03/31 01:59

YugoNakashima

総合スコア42

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問