Pythonのin演算子(int型)で”TypeError: argument of type ‘int’ is not iterable”と怒られてしまった際の解決方法

環境:Python3.7

in演算子を使用して値が含まれているか判定しようとすると以下のエラーが返されて

TypeError: argument of type 'int' is not iterable

TypeError: ‘int’型の引数は反復可能ではありませんと怒られてしまった。

そこで色々試してみた結果を記載しておきます。

in演算子を使用して値が入っているか判定

 

まず、結論からin演算子を使用して判定可能なのは以下の通りでした。

・str型⇔str型

・int型→list型を参照して判定

・int型→tuple型を参照して判定

 

変数を使って値が入っているか判定する

 

str型とstr型で判定する

bの変数がaの変数に入っているか判定する

a = '1234'
b = '1'

print(a,type(a)) 
print(b,type(b))

if b in a:
    print('yes')
else:
    print('no')

結果

1234 <class 'str'>
1 <class 'str'>
yes

 

aからbの変数に入っているか判定してもnoが返されたのでOK

a = '1234'
b = '1'

print(a,type(a))
print(b,type(b))

if a in b:
    print('yes')
else:
    print('no')

結果はnoが返される。

1234 <class 'str'>
1 <class 'str'>
no

int型とlist型で判定する

int型bの値からlist型aに入っているか判定する

a = [1, 2, 3, 4] #変数aに123の値を代入
b = 1 #変数bに1を代入

print(a,type(a))
print(b,type(b))

if b in a:
    print('yes')
else:
    print('no')

結果

[1, 2, 3, 4] <class 'list'>
1 <class 'int'>
yes

 

list型からint型はエラーが返される

a = [1,2,3,4]
b = 1

print(a,type(a))
print(b,type(b))

if a in b:
    print('yes')
else:
    print('no')

結果

[1, 2, 3, 4] <class 'list'>
1 <class 'int'>
Traceback (most recent call last):
  File "C:/Users/chiraura/PycharmProjects/untitled1/Python_test.py", line 7, in 
    if a in b:
TypeError: argument of type 'int' is not iterable

int型とtuple型で判定する

int型bの値からtuple型aの値を判定する

a = (1,2,3,4)
b = 1

print(a,type(a))
print(b,type(b))

if b in a:
    print('yes')
else:
    print('no')

結果

(1, 2, 3, 4) <class 'tuple'>
1 <class 'int'>
yes

 

tuple型aの値からint型bの値を判定する

a = (1,2,3,4)
b = 1

print(a,type(a))
print(b,type(b))

if a in b:
    print('yes')
else:
    print('no')

結果はエラーが返される

(1, 2, 3, 4) <class 'tuple'>
1 <class 'int'>
Traceback (most recent call last):
  File "C:/Users/chiraura/PycharmProjects/untitled1/Python_test.py", line 7, in 
    if a in b:
TypeError: argument of type 'int' is not iterable

 

解決方法は型変換

先ほどエラーが返されたlist型とint型を確実に判定可能だったstr型に変換してみる

a = [1, 2, 3, 4]
b = 1

print(a,type(a))
print(b,type(b))

new_a = str(a)
new_b = str(b)

print(new_a,type(new_a))
print(new_b,type(new_b))

if new_a in new_b:
    print('yes')
else:
    print('no')

結果【list型とint型】から【str型】へ変換されて結果が返されたのが確認できた。

[1, 2, 3, 4] <class 'list'>
1 <class 'int'>
[1, 2, 3, 4] <class 'str'>
1 <class 'str'>
no

 

マイツールでオートプログラムを作成する際おさえておきたい変数と定数の使い方

マイツール のみでなく どの言語でも必須となるのが変数や定数ですね。マイツールにもオートプログラムの作成には必須となるのが定数や変数です。その他マイツールには、命令によって自動で代入される独特の特殊変数もありますのでこれは便利なので凄いですね。今回は、自動で代入される特殊変数などの一覧や、マイツールでプログラム組み始めた際に、当初躓いた個所などをまとめてみました。マイツールでまだ変数など使ったことがない人にも解りやすいように心がけてまとめてみましたので参考になさってください。

スポンサーリンク
スポンサーリンク

Python3.7予約語またはkeyword一覧と組み込み関数取得・確認方法

予約語、または Python 言語における キーワード (keyword) として使われ、通常の識別子(変数名・関数名・クラス名)として使うことはできない字句です。予約語そのものは35と少ないのですが、Pythonには組み込み関数などがありこの関数も変数の使用は避けたい字句です。その一覧とPycharmでの便利な閲覧方法など取得方法です。

PyCharmの起動と環境設定

PyCharmを起動して各種設定をした時の備忘録です。環境:Anaconda3 Pycharm:2019.3 Windows10 64bit WindowsのスタートメニューからJetBrains PyCharm Community Edition を起動します。 最初は何もインポートするものがないので、『Do not import setings 』のまま『OK』 をクリックします。次にプライバシーポリシーに同意するのでチェックを入れて『Continue』をクリックします。

Anaconda3・Python3.7にインストールされているパッケージ一覧(Windows用)

PythonのインストールするのにはAnacondaが便利?『AnacondaをインストールするとPythonと一緒に豊富な外部ライブラリが一緒にインストールされる』と耳にします。どの様なライブラリがインストールされたのか気になったので調べて日本語に翻訳したものをメモにしています。※Anaconda 2109.10にインストールされていたのは全部で277でした。

Windows10にPycharm-community-2019.3をインストール

前回はAnaconda3からPython3.7をインストールしました。初めてインストールする方でもわかりやすいように心がけて記載しています。 まだインストールされていない方は、こちらから↓ https://wpchiraura.xyz/install-python-with-anaconda/それでは、PythonのIDE Pycharm communityをインストールします。

マイツールforWindowsV1の旧データをフリーウェアで読み込んでみました

昔使っていたマイツールのテータがあるがどうやって開けばいいか?という問い合わせがありましたので、以前私がWindows2000で使用していたMyToolforWidowsのデータをWindows10のフリーウェアから読み込んでみました。今回は、始めてマイツールを使用する方でもわかりやすいように心がけて画像を多く取り込んで作成しています。マイツール初心者のみなさんも是非チャレンジしてみてください。

スポンサーリンク
スポンサーリンク