带数学运算符的Python for()循环
假设我有一个数字列表,例如:带数学运算符的Python for()循环,python,list,for-loop,python-3.x,Python,List,For Loop,Python 3.x,假设我有一个数字列表,例如: my_list=[1,17,2] 我想把这些加在一起。我知道我可以使用打印(总和(我的列表))。但是,我想看看是否有其他方法可以做到这一点,因此我尝试了以下方法: b = len(my_list) for m in range(my_list[0], my_list[b-1]): m += m print(m) 我相信这样的事情应该行得通,但我显然做错了。此操作的输出为2。在我尝试之后: result = 0 b = len(my_list) fo
my_list=[1,17,2]
我想把这些加在一起。我知道我可以使用打印(总和(我的列表))
。但是,我想看看是否有其他方法可以做到这一点,因此我尝试了以下方法:
b = len(my_list)
for m in range(my_list[0], my_list[b-1]):
m += m
print(m)
我相信这样的事情应该行得通,但我显然做错了。此操作的输出为2
。在我尝试之后:
result = 0
b = len(my_list)
for m in range(my_list[0], my_list[b-1]):
result = result + m
print(result)
这将输出1
请解释我做错了什么,以及我如何纠正它。因为您使用的是范围函数定义1到2之间的范围。m中生成的唯一数据为1,因此结果为1 在Python中,您可以直接迭代序列的元素:
m = [1, 17, 2]
res = 0
for i in m:
res += i
print res
因为您正在使用范围函数定义1和2之间的范围。m中生成的唯一数据为1,因此结果为1 在Python中,您可以直接迭代序列的元素:
m = [1, 17, 2]
res = 0
for i in m:
res += i
print res
试试这个
my_list = [1, 17, 2]
reduce(lambda x, y: x+y, my_list)
试试这个
my_list = [1, 17, 2]
reduce(lambda x, y: x+y, my_list)
首先,您应该将正确的范围设置为:0..2(因为列表项的索引从0开始,有2个项) 或者,如果您更喜欢“针对每种”样式,则应按您正在汇总的列表进行评分:
for m in my_list:
result = result + m;
最后,如果只想打印最终金额,则应更正打印缩进:
for m in my_list:
result = result + m;
print(result) # <- mind indent
首先,您应该将正确的范围设置为:0..2(因为列表项的索引从0开始,有2个项) 或者,如果您更喜欢“针对每种”样式,则应按您正在汇总的列表进行评分:
for m in my_list:
result = result + m;
最后,如果只想打印最终金额,则应更正打印缩进:
for m in my_list:
result = result + m;
print(result) # <- mind indent
要从my_列表中获取值,可以使用以下语法:
for m in my_list:
print m
如果您使用范围,它将为您提供从1(列表的第一个值)到2(列表的长度-1)的范围
要添加列表的值,可以尝试以下代码:
out = 0
for m in my_list:
out = out + m
print(out)
要从my_列表中获取值,可以使用以下语法:
for m in my_list:
print m
如果您使用范围,它将为您提供从1(列表的第一个值)到2(列表的长度-1)的范围
要添加列表的值,可以尝试以下代码:
out = 0
for m in my_list:
out = out + m
print(out)
我感谢您的回复,我会记下这一点以备将来参考。我还没有接触到functools,谢谢你。如果你熟悉python 2.x中的reduce,python 3.x中的reduce也是一样,但是他们用functools模块来包装它。我已经编程了大约一周了。我学到了很多,在这里和那里奋斗,但迄今为止,我已经克服了每一个障碍。希望我能继续这样。这很有趣!我感谢您的回复,我会记下这一点以备将来参考。我还没有接触到functools,谢谢你。如果你熟悉python 2.x中的reduce,python 3.x中的reduce也是一样,但是他们用functools模块来包装它。我已经编程了大约一周了。我学到了很多,在这里和那里奋斗,但迄今为止,我已经克服了每一个障碍。希望我能继续这样。这很有趣!谢谢你用文字解释你的答案。谢谢你用文字解释你的答案。谢谢你的多个例子,这很有帮助。谢谢你的多个例子,这很有帮助。