问题描述
假设我有两个列表:
select array_agg(login_id) filter (where sender_id = 111) as sender_111,array_agg(login_id) filter (where sender_id = 222) as sender_222
from invite i
where sender_id in (111,222) and is_valid;
,想要创建几个(例如5个)元组列表,并确定其中的字符数(根据char_list = ['a','b','c','d','e','f','g','h','i','j','k','l']
n_list = [3,2,1,3]
),但我还想控制两件事:
- 给定字符与尖角字符的出现频率
- 尖头元组中给定字符的出现频率
例如,我不想看到n_list
的元组中有'd'
,并且'e'
必须“经常”出现(对于本示例来说,超过50%)出现在第三行中元组(根据'k'
将是1元素长元组):
n_list
满足第一个条件是因为每个列表中都没有lists_of_tuples =
[(a,b,c),('d','j'),('k'),('g','h'),('i'),('e','l')]
[(e,i,l),('h','f'),('g'),'a'),('b'),('j','c')]
[(a,c,i),'e'),'l'),('d'),('b','j')]
[(d,('i','k'),('a'),'g')]
[(h,l,j),('f','d'),('a',('c'),'i')]
和'd'
的元组,并且也满足了第二个条件,因为'e'
出现在至少三个列表中(超过50% )在给定的元组(第三个)中。
我知道有一个带有权重参数的函数'k'
,该函数可以对每个值的可能性进行加权,但是说实话,我不知道它如何对我的问题有所帮助。
我希望我已经以易于理解的方式解释了我想要实现的目标。如果没有,请提出问题。我会很乐意回答他们!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)