我正在编写一个函数,它接受一个整数列表并返回一个相对定位元素的列表.
也就是说,如果我对所述函数的输入是[1,5,4],则输出将是[0,2,1],因为1是最低元素,5是最高元素,4是中间,所有元素是唯一值,还是一组()
但代码说话,我到目前为止的功能是
def relative_order(a):
rel=[]
for i in a:
loc = 0
for v in a:
if i > v:
loc += 1
rel.append(loc)
return rel
Run Code Online (Sandbox Code Playgroud)
它确实有效,但由于我将大型列表发送到此函数中,并且我必须将每个元素与每次迭代中的所有元素进行比较,因此需要大约5秒来使用10.000个元素的列表.
我的问题是如何提高所述功能的速度,也许更多Pythonic,我尝试了理解列表,但我的Python技能缺乏,我只想出了实现这个问题的必要方法.
我正在尝试在Linq中执行以下查询
SELECT *
FROM Table1 T1
INNER JOIN Table2 T2
ON T1.ID = T2.AnotherID
LEFT OUTER JOIN Table3 T3
on T1.ID = T3.AnotherID
Run Code Online (Sandbox Code Playgroud)
它在正确的SQL语法中按预期工作,但我很难将其转换为相应的Linq to SQL语法.
如何将左连接与内连接组合?
问候,