map 使用時に TypeError: 'int' object is not iterable エラーが発生する


下記のプログラムを実行するとエラーが起きます。  
おそらくmapの部分でのエラーだと思いますが、仕組みがわからないためご質問させて頂きました。

**エラーメッセージ:**

[code]

    TypeError: 'int' object is not iterable
    
[/code]

**プログラム:**

[code]

    nums1 = [1,2,3,4,5,6,7,8]
    nums2 = [2,2,3,1,2,6,7,9]
    
    def ct(l):
        for i in l:
            print(i)
    
    print(list(map(ct,nums1)))
    
[/code]




[map](https://docs.python.org/ja/3/library/functions.html#map)はリストの
**要素ひとつひとつを取り出し** て  
それぞれの要素に対して関数を適用する組み込み関数ですので、  
下記のように書き換えるとエラーが出ずに動きます。(`ct`関数の戻り値は考慮していません)

[code]

    def ct(l):
        # 修正後
        print(l)
    
        # 修正前
        #for i in l:
        #    print(i)
    
[/code]

[Pythonのmap()でリストの要素に関数・処理を適用](https://note.nkmk.me/python-map-usage/)の例のように  
abs関数をリストのそれぞれの要素に実行する例を見ると直感的に理解しやすい人もいるかもしれません。

[code]

    print(list(map(abs, nums1)))
    
[/code]

