如何将列表中的数字乘以[' 40',' 12',' 55']?

时间:2017-05-23 10:23:35

标签: python list

我试图将列表中的数字乘以5,但它不会因为它说" TypeError:不能将序列乘以&#39类型的非int ;浮动'"

my_list = ['1', '2', '3', '4', '5']
my_new_list = [i * 5 for i in my_list]

print(my_new_list)

2 个答案:

答案 0 :(得分:0)

你有一个字符串列表,所以你需要先将它们转换为int或float:

my_list = ['1', '2', '3', '4', '5']
my_new_list = [int(i) * 5 for i in my_list]

print(my_new_list)

或者只是将列表定义为整数列表:

my_list = [1, 2, 3, 4, 5]
my_new_list = [i * 5 for i in my_list]

print(my_new_list)

答案 1 :(得分:0)

根据您的错误消息,我怀疑您正在尝试与float号码相乘,但列表不是float格式。你可以将它格式化为float,然后像这样乘以:

my_list = ['1', '2', '3', '4', '.655']
my_new_list = [float(i) * 0.5555 for i in my_list]
print(my_new_list)

输出:

[0.5555, 1.111, 1.6665, 2.222, 0.3638525]