Python 如何在具有输入名称的函数中定义列表?

Python 如何在具有输入名称的函数中定义列表?,python,python-3.x,Python,Python 3.x,我正在定义一个函数,它创建一个包含输入值的列表。 我有两个问题: 如何从输入中定义列表的名称(n) 如何转换浮点型的数字项 n=输入列表的名称 我曾尝试将列表分配给n,但在运行该函数后,在写入列表名称时,它给了我一个NameError 关于第二个问题,我尝试将输入转换为浮点,但没有成功,列表中的数字项仍然是字符串 def createlist(): n=input("What's the list's name?"+'\n') a=input("Insert the list i

我正在定义一个函数,它创建一个包含输入值的列表。 我有两个问题:

  • 如何从输入中定义列表的名称(n)
  • 如何转换浮点型的数字项
  • n=输入列表的名称

    我曾尝试将列表分配给n,但在运行该函数后,在写入列表名称时,它给了我一个NameError

    关于第二个问题,我尝试将输入转换为浮点,但没有成功,列表中的数字项仍然是字符串

    def createlist():
        n=input("What's the list's name?"+'\n')
        a=input("Insert the list items"+'\n')
        l=[a]
        while a!='':
            b=input('\n')
            m=[b]
            l=l+m
            a=b
        l=l[:-1]
        print(n,'=',l)
        n=l
    
    createlist()
    
    n='List'
    
    List = ['banana', 'apple', 'peach', '4.33', '56.243']
    
    List
    
    名称错误:未定义名称“列表”

    我希望列表的输出是创建的列表,但它实际上给了我一个NameError。 当将数字作为项目写入时,它将作为字符串而不是int进入列表

    我需要一些帮助。谢谢

  • 我想你在找像exec这样的人
  • 您可以迭代并尝试转换为浮点
  • exec将实际运行您的代码:

    name = input()
    
    因此:

    将创建一个新变量,名为LISTNAME的列表显示代码在Python3上运行良好,在Python2.7上显示
    NameError
    。如果您在UNIX系统上,我相信
    python my_prog.py
    将默认使用python 2.7-请尝试
    python3 my_prog.py
    。可能会重复
    name = "LISTNAME" # after user input
    
    exec(name + "=[]")