我不确定你是如何建立“用户输入列表”的。你在使用循环吗?是纯投入吗?你读的是JSON还是pickle?这是一个巨大的未知。
假设您试图让它们输入逗号分隔的值,只是为了得到答案。# ASSUMING PYTHON3
user_input = input("Enter a list of numbers, comma-separated\n>> ")
user_input_as_list = user_input.split(",")
user_input_as_numbers_in_list = map(float, user_input_as_list) # maybe int?
# This will fail if the user entered any input that ISN'T a number
def sum(lst):
accumulator = 0
for element in lst:
accumulator += element
return accumulator
前三行有点难看。您可以组合它们:user_input = map(float, input("Enter a list of numbers, comma-separated\n>> ").split(','))
但那也有点难看。怎么样:raw_in = input("Enter a list of numbers, comma-separated\n>> ").split(',')
try:
processed_in = map(float, raw_in)
# if you specifically need this as a list, you'll have to do `list(map(...))`
# but map objects are iterable so...
except ValueError:
# not all values were numbers, so handle it