Python 3.x 如何通过将列表中的每个条目转换为数值来修改它?

Python 3.x 如何通过将列表中的每个条目转换为数值来修改它?,python-3.x,Python 3.x,我正试图根据以下规范编写名为toNumbers的函数: -toNumbers通过将列表中的每个条目转换为数值来修改它。 -调用toNumbers函数将列表中的每个条目转换为数字形式。 -在main函数中显示原始列表和转换后的列表,而不是以toNumbers显示 for i in (toNumbers(myList)): myList[i] = myList [i] * (1+rate) def main(): myList = ['5','-2','3.5','-4.5'] print(myL

我正试图根据以下规范编写名为toNumbers的函数:

-toNumbers通过将列表中的每个条目转换为数值来修改它。 -调用toNumbers函数将列表中的每个条目转换为数字形式。 -在main函数中显示原始列表和转换后的列表,而不是以toNumbers显示

for i in (toNumbers(myList)):
myList[i] = myList [i] * (1+rate)

def main():
myList = ['5','-2','3.5','-4.5']
print(myList)

main()
但是,我不确定要使用什么函数来修改我的列表。 谢谢
(我使用的是Python 3.5)

您的main将如下所示:

if __name__=='__main__':
    new_list = [toNumbers(num) for num in myList]
    print(new_list, myList)
它通过对列表中的每个值调用toNumbers来创建新的_列表,然后返回这些值的列表


然后它将在main中打印所有列表

[int(item)for item in myList]
?如果你的规格允许的话,只需对每个项目调用
float
范围内的i(len(myList)):myList[i]=float(myList[i])*(1+比率)
为什么要将每个项目乘以1.5?因为在问题的原始代码中,提问者将每个数字乘以(1+比率)。他没有具体说明利率是多少,但我想他会愿意的。我只是毫无理由地选择了0.5作为速率,但是不管速率应该是什么,上面的代码允许你显式地设置它。换句话说,如果我理解他想做什么,他从一个恰好被格式化为Python字符串的数字列表开始,并希望以一个数字列表结束,其中每个数字都是原始数字乘以1加上某个速率。要从A到B,需要指定速率,将列表中的每个字符串转换为Python浮点,并乘以1加上速率。
if __name__=='__main__':
    new_list = [toNumbers(num) for num in myList]
    print(new_list, myList)