可以设想对冒泡排序进行修改,其中“交换”以概率随机发生p,而不是通过执行比较。结果可以称为“泡沫洗牌”。靠近前面的元素可能会保留在那里,但有机会移到列表的后面。
修改从互联网上窃取的冒泡排序,您可以想出以下内容:
import random
def bubble_shuffle(arr, p):
arr = copy.copy(arr)
n = len(arr)
# Traverse through all array elements
for i in range(n-1):
# range(n) also work but outer loop will repeat one time more than needed.
# Last i elements are already in place
for j in range(0, n-i-1):
# traverse the array from 0 to n-i-1
# Swap if random number [0, 1] is less than p
if random.random() < p:
arr[j], arr[j+1] = arr[j+1], arr[j] …Run Code Online (Sandbox Code Playgroud) 对于任何给定的索引,是否有可能产生一个插值其值的系列.我有一个预定义的插值方案,我希望规定,我宁愿调用者自己不应用插值,以避免任何错误的可能性.
class InterpolatedSeries(pd.Series):
pass # magic?
s = pd.Series([1, 3], index=[1, 3])
i = InterpolatedSeries(s, forward='nearest', backward='nearest', middle='linear')
Run Code Online (Sandbox Code Playgroud)
调用者将收到i结果,他们现在可以请求任何值,我相信他们得到的值符合规定的插值方案.插值肯定不是可预先计算的(因为我们不知道他们会提前请求哪些点)或可缓存(因为我们不知道他们会要求多少点),但重要的是没有并发症对于来电者.
这可能吗?
>>> i[[0, 0.11234, 1, 2, 2.367, 3, 4]]
... pd.Series([1, 1, 1, 2, 2.367, 3, 3], index=[0, 0.11234, 1, 2, 2.367, 3, 4])
Run Code Online (Sandbox Code Playgroud) 给出一个简单的Parsekit语法.
@start = sentence+;
sentence = 'beer' container;
container = 'bottle' | 'cup';
Run Code Online (Sandbox Code Playgroud)
如果我有部分解析beer,是否可以让Parsekit将可能的完成返回到句子?
在编程语言中,Java对对象进行方法调用,通过隐式传递对象的引用来处理并作为静态方法工作?
我希望使用单个"花式"切片从矩阵中提取行和列,这可能吗?
m = matrix([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
Run Code Online (Sandbox Code Playgroud)
我的目标是
matrix([[1, 3],
[7, 9]])
Run Code Online (Sandbox Code Playgroud)
我有一份我想要的物品清单
d = [0,2]
Run Code Online (Sandbox Code Playgroud)
我可以实现功能
m[d][:,d]
Run Code Online (Sandbox Code Playgroud)
但是有一个更简单的表达方式吗?