Qia*_* Li 0 wolfram-mathematica
我想知道如何编写一个特殊的Tally函数,它将以下列表{{{1,0},{2,1,3}},{{1,1},{0,1,1}},{{2,1,2},{3,2}},{{1,0},{2,1}}}视为:
{{1,0},{2,1,3}}并且{{1,1},{0,1,1}}是等价的,但不是{{1,0},{2,1}}.{{1,0},{2,1,3}}并且{{2,1,2},{3,2}}是等价的.级别1列表的元素可以是艺术嵌套的.我怎么写这样的功能?
非常感谢.
(1)用0替换所有整数.(2)在第一级排序.这为列表中的每个类提供了唯一的代表.
ll2 = Map[Sort, ll /. aa_Integer -> 0]
Run Code Online (Sandbox Code Playgroud)
Out [9] = {{{0,0},{0,0,0}},{{0,0},{0,0,0}},{{0,0},{0,0, 0}},{{0,0},{0,0}}}
Tally[ll2]
Run Code Online (Sandbox Code Playgroud)
Out [10] = {{{{0,0},{0,0,0}},3},{{{0,0},{0,0}},1}}
Daniel Lichtblau Wolfram Research
| 归档时间: |
|
| 查看次数: |
323 次 |
| 最近记录: |