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

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

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

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

Q&A

解決済

2回答

916閲覧

【python】min(),max()が想定しているような形で動いていないので解決策をアドバイスしてほしい

yoshitaka_1020

総合スコア17

Python 3.x

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

0グッド

0クリップ

投稿2023/01/17 13:39

編集2023/01/17 14:02

実現したいこと

以下文章内でmin(),max()が想定しているような形で動いていないので解決策をアドバイスしてほしい

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

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-123-d1ead93c94cf> in <module> 3 test = [dt.strptime(i.strip().lower() , "%Y-%m-%d %H:%M:%S" ).month for i in test.split(",")] 4 print(test) ----> 5 max_month, min_month = [max(test),min(test)] 6 x = ",\n".join([ f"IF(cp{i} = 1, 1, 0) AS cp{i}" for i in range(min_month , max_month + 1)]) TypeError: 'int' object is not callable

該当のソースコード

python

1from datetime import datetime as dt 2test = "2022-02-02 00:00:00,2022-03-01 00:00:00,2022-01-01 00:00:00" 3test = [dt.strptime(i.strip().lower() , "%Y-%m-%d %H:%M:%S" ).month for i in test.split(",")] 4max_month,min_month = [max(test),min(test)] 5x = ",\n".join([ f"IF(cp{i} = 1, 1, 0) AS cp{i}" for i in range(min_month , max_month + 1)]) 6print(x)

補足情報(FW/ツールのバージョンなど)

Google Colab

リストの内包表記のところでdatetimeのmonthを抜いているのでリスト内の型が想定していないようなデータ型をしている?と思い、以下のコードで確認しましたが、すべてintとして入っているため問題ないと結論づけました。

python

1test = "2022-02-02 00:00:00,2022-03-01 00:00:00,2022-01-01 00:00:00" 2test = [dt.strptime(i.strip().lower() , "%Y-%m-%d %H:%M:%S" ).month for i in test.split(",")] 3for i in test: 4 print(type(i))

以下出力

<class 'int'> <class 'int'> <class 'int'>

(ソース:https://dot-blog.jp/news/python-max-function/)このページ内にある以下のようなコードをColab内で実行しても同様のエラーが返ってくる

x = [30, 20, 10, 40] print(max(x))
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-139-465bd6f6712c> in <module> 1 x = [30, 20, 10, 40] ----> 2 print(max(x)) TypeError: 'int' object is not callable

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

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

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

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

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

melian

2023/01/17 14:04

> TypeError: 'int' object is not callable max か min, もしくは両方をユーザ定義変数として使用しているのだと思います。例えば、max = 1 や min = 0 などという定義をどこかでしていないでしょうか?
guest

回答2

0

TypeError: 'int' object is not callable

エラーメッセージを読もう。
'int' オブジェクトは呼び出すことはできない、とおっしゃってますので、
max というキーワードがint変数になってることが推察されますが、そこらへん心あたりはないでしょうか

あるいは、そのmax関数というものがどこで定義されているのか、をチェックしてみては。

投稿2023/01/17 13:48

編集2023/01/17 13:49
y_waiwai

総合スコア87784

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

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

guest

0

自己解決

Colabのランタイム>ランタイムの再起動を実行したら解決
イメージ説明

投稿2023/01/17 14:18

編集2023/01/17 14:39
yoshitaka_1020

総合スコア17

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

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

otn

2023/01/17 17:19

max = 整数値 を実行したことを忘却してしまってたんでしょうね。実行した記録って残らないのですか? 記憶するか、記録するか、どっちかしないと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問