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

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

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

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

Q&A

解決済

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

yoshitaka_1020
yoshitaka_1020

総合スコア17

Python 3.x

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

2回答

0グッド

0クリップ

382閲覧

投稿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

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

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

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

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

melian

2023/01/17 14:04

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

回答2

2

TypeError: 'int' object is not callable

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

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

投稿2023/01/17 13:48

編集2023/01/17 13:49
y_waiwai

総合スコア86513

yoshitaka_1020, quickquip👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

0

自己解決

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

投稿2023/01/17 14:18

編集2023/01/17 14:39
yoshitaka_1020

総合スコア17

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

otn

2023/01/17 17:19

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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