python3のfor~zipの使い方と値のオブジェクトへの格納の仕方について


python3におけるfor文の使い方で困っています。  
ある関数にfor文にリストを流し込み、算出された結果を別々のオブジェクトに  
保存をしたいのですが、上手くいきません。当方、エンジニアではないので、  
質問の仕方が不適切かもしれず恐縮ですが、よろしくお願い致します。  
下記がコードになります。

[code]

    def test(x):
        x
        return x
    
    test_list=['1','2','3','4','5']
    x = test_list
    test_df = [df1,df2,df3,df4,df5]
    y = test_df
    
    for i1,i2 in zip(x,y):
        y = test(x)
    df1
    
[/code]

df1,df2,df3,df4,df5 にそれぞれ、'1','2','3','4','5'を格納したい




以下のように書けば別々のオブジェクトに保存できます。

[code]

    test_list=['1','2','3','4','5']
    test_df = ['df1','df2','df3','df4','df5']
    for x, y in zip(test_list, test_df):
        exec(y + " = '" + x + "'")
    
[/code]

なお、そのままリストで使うか、辞書型を使って、次のように辞書を作成した方がわかりやすいと思います。

[code]

    test_list=['1','2','3','4','5']
    test_df = [1, 2, 3, 4, 5]
    df = {}
    for x, y in zip(test_list, test_df):
        df[y] = x
    
[/code]

使用する場合には、次のようにします。

[code]

    df[1]
    
[/code]

