我有一个问题,我需要制定膳食计划:
给定的数据是一个字典列表(超过 100,000 个单元),其结构如下:
{'title': 'Cannellini Bean and Asparagus Salad with Mushrooms', 'types': ['side dish', 'lunch', 'main course', 'salad', 'main dish', 'dinner'], 'calories': 482}
Run Code Online (Sandbox Code Playgroud)
算法的输出应该是最接近 x 卡路里的 x 餐及其相关膳食类型的列表。
我不知道从哪里开始解决这个问题,欢迎任何算法类型或实现。
我试图通过查找它们的线性表示来匹配Python中符号的"项链",我使用普通字符串.例如,字符串"AABC","ABCA","BCAA","CAAB"都表示相同的项链(如图).

为了得到一个概述,我只存储一个作为"代表"给定的项链相当于字符串.至于检查我是否存储了候选项链,我需要一个函数来规范任何给定的字符串表示.作为一种伪代码,我在Python中编写了一个函数:
import collections
def normalized(s):
q = collections.deque(s)
l = list()
l.append(''.join(q))
for i in range(len(s)-1):
q.rotate(1)
l.append(''.join(q))
l.sort()
return l[0]
Run Code Online (Sandbox Code Playgroud)
对于上面示例项链中的所有字符串表示,此函数返回"AABC",首先按字母顺序排列.
由于我对Python比较陌生,我想 - 如果我开始在Python中实现一个应用程序 - 这个函数对于生产代码来说已经"足够好"吗?换句话说:有经验的Python程序员会使用这个函数,还是有明显的缺陷?
例如,对于N = 3. 排列是:
[1,3,2]
[2,3,1]
Run Code Online (Sandbox Code Playgroud)
注意:[1,2,3]并且[3,2,1]在此处无效,因为[1,2,3]增加但不减少,反之亦然[3,2,1].
我在TCS CodeVita 2017中遇到了这个问题,他们甚至没有为此提供社论.
我有一个列名称的成分表:
Name
________
Cheese
Beans
Potato
etc
Run Code Online (Sandbox Code Playgroud)
我想在两列中显示这些值的所有可能组合,例如(奶酪,豆类)(奶酪,土豆),(豆类,土豆)等。这可能吗?

我需要编写一个Perl例程,它将生成给定集合的n个选择k组合.我不需要计算有多少套,我必须能够打印出来.我很难过.
任何建议表示赞赏.
问候.
我想打印集合中的3个数字的所有可能组合(0 ... n-1),而这些组合中的每一个都是唯一的.我通过这段代码得到变量n:
n = raw_input("Please enter n: ")
Run Code Online (Sandbox Code Playgroud)
但我坚持提出算法.有什么帮助吗?
我有一个列表,其中每个元素都是一组数字.所有组的长度都不同:
a <- list(1,c(2,3),c(4,5,6))
#> a
#[[1]]
#[1] 1
#[[2]]
#[1] 2 3
#[[3]]
#[1] 4 5 6
Run Code Online (Sandbox Code Playgroud)
我想得到每组中一个元素的所有可能组合.在这个例子中它应该是:
1 2 4,1 2 5,1 2 6,1 3 4,1 3 5,1 3 6
我觉得*apply-functions的某些组合在这里很有用,但是无法弄清楚如何做到这一点.
我想从图中生成所有三元组。第一个“集合”中的所有三元组将是 1,2,3 和 1,3,2 和 3,2,1。我对这组的另一个三元组(即 2,1,3 或 3,1,2 )不感兴趣。我怎样才能做到这一点?