我有一系列具有属性重量,体积和所有者的盒子.
我想使用LINQ获取盒子信息的汇总列表(按所有者)
例如
**Owner, Boxes, Total Weight, Total Volume**
Jim, 5, 1430.00, 3.65
George, 2, 37.50, 1.22
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何使用Lambda表达式执行此操作吗?
time_interval = [4, 6, 12]
Run Code Online (Sandbox Code Playgroud)
我想总结数字[4, 4+6, 4+6+12],以获得列表t = [4, 10, 22].
我尝试了以下方法:
for i in time_interval:
t1 = time_interval[0]
t2 = time_interval[1] + t1
t3 = time_interval[2] + t2
print(t1, t2, t3)
4 10 22
4 10 22
4 10 22
Run Code Online (Sandbox Code Playgroud) 使用LINQ to SQL,我有一个带有OrderDetails集合的Order类.订单明细有一个名为LineTotal的属性,它获得Qnty x ItemPrice.
我知道如何对数据库进行新的LINQ查询以查找订单总数,但由于我已经从DB中收集了OrderDetails,是否有一种简单的方法可以直接从集合中返回LineTotal的总和?
我想将订单总数添加为我的Order类的属性.我想我可以遍历集合并计算每个Order.OrderDetail的总和,但我猜有更好的方法.
from i in Db.Items
select new VotedItem
{
ItemId = i.ItemId,
Points = (from v in Db.Votes
where b.ItemId == v.ItemId
select v.Points).Sum()
}
Run Code Online (Sandbox Code Playgroud)
我得到了这个查询,但是如果没有找到异常的投票则它会失败:
The null value cannot be assigned to a member with type System.Int32 which is a non-nullable value type.
Run Code Online (Sandbox Code Playgroud)
我假设它因为sum返回一个int而不是一个可空的int,给一个int一个?作为输入只给出相同的错误,可能导致sum仅适用于int.
有什么好的解决方法吗?
我认为这将是非常微不足道的,但我无法弄清楚如何做到这一点.我有一个List<int>,我想总结一系列的数字.
说我的清单是:
var list = new List<int>()
{
1, 2, 3, 4
};
Run Code Online (Sandbox Code Playgroud)
我如何获得前3个对象的总和?结果是6.我尝试使用Enumerable.Range但无法使其工作,不确定这是否是最好的方法.
没有做:
int sum = list[0] + list[1] + list[2];
Run Code Online (Sandbox Code Playgroud) 我有一个包含多个列的数据框; 一些数字和一些字符.如何计算特定列的总和?我GOOGLE了这一点,我看到无数的功能(sum,cumsum,rowsum,rowSums,colSums,aggregate,apply),但我不能让这一切的感觉.
例如,假设我有一个people包含以下列的数据框
people <- read(
text =
"Name Height Weight
Mary 65 110
John 70 200
Jane 64 115",
header = TRUE
)
…
Run Code Online (Sandbox Code Playgroud)
我如何得到所有重量的总和?
可以说我有C一个属性的类a.
a从CPython 列表中获取总和的最佳方法是什么?
这是我的代码,我需要在列表中总结一些未定义的元素.这该怎么做?
l = raw_input()
l = l.split(' ')
l.pop(0)
Run Code Online (Sandbox Code Playgroud)
我的输入:3 5 4 9
输入后我删除了第一个元素l.pop(0).在.split(' ')我的列表之后['5', '4', '9'],我需要汇总此列表中的所有元素.
在这种情况下,总和为18.请注意,未定义元素数量.
如果我想找到数字的数字之和,即:
93214,即(9 + 3 + 2)这样做的最快方法是什么?
我本能地做了:
sum(int(digit) for digit in str(number))
Run Code Online (Sandbox Code Playgroud)
我在网上找到了这个:
sum(map(int, str(number)))
Run Code Online (Sandbox Code Playgroud)
哪种方法最适合速度,还有其他方法更快吗?
Python有一个内置函数sum,它实际上相当于:
def sum2(iterable, start=0):
return start + reduce(operator.add, iterable)
Run Code Online (Sandbox Code Playgroud)
除了字符串之外的所有类型的参数.它适用于数字和列表,例如:
sum([1,2,3], 0) = sum2([1,2,3],0) = 6 #Note: 0 is the default value for start, but I include it for clarity
sum({888:1}, 0) = sum2({888:1},0) = 888
Run Code Online (Sandbox Code Playgroud)
为什么特别遗漏了字符串?
sum( ['foo','bar'], '') # TypeError: sum() can't sum strings [use ''.join(seq) instead]
sum2(['foo','bar'], '') = 'foobar'
Run Code Online (Sandbox Code Playgroud)
我似乎记得在Python列表中讨论的原因,所以解释或解释它的线程的链接会很好.
编辑:我知道标准的方法是做"".join.我的问题是为什么禁止对字符串使用sum的选项,并且没有禁止,例如,列表.
编辑2:虽然我认为这不是必需的,但我得到了所有的好答案,问题是:为什么sum在包含数字的迭代或包含列表的迭代但不包含包含字符串的迭代?