Discuss / Python / 列表中只有单元素时 reduce 的处理方式?

列表中只有单元素时 reduce 的处理方式?

Topic source

广州dw

#1 Created at ... [Delete] [Delete and Lock User]

def add(x,y):  print(x);  print(y);  print('----------');  return x+y;  

print(reduce(add, [1])); # 只输出1; 没有 ------- 这个是为什么?

广州dw

#2 Created at ... [Delete] [Delete and Lock User]

def add(x,y):  print(x);  print(y);  print('----------');  return (x+y) * 2;  

print(reduce(add, [1])); # 还是输出1;  说明对于只有一个元素的list, reduce 直接返回了这个元素;  而不会去调用 传入函数的处理逻辑;

广州dw

#3 Created at ... [Delete] [Delete and Lock User]

那就有一个问题了, 对于 "1" 这样的字符串, 前面那个 字符串转换整数估计不能成功, 还是会返回字符串;

广州dw

#4 Created at ... [Delete] [Delete and Lock User]

奇怪了, str2int("9") 还是转换成为了整数 9 , 我琢磨一下.

广州dw

#5 Created at ... [Delete] [Delete and Lock User]

额, map(char2num, s) 这儿已经转换成为了数字;


  • 1

Reply