Python 列表中元素的概率

Python 列表中元素的概率,python,Python,我的数据 List=[[12,1,6],[12,1,6],15],[12,2,6],[12,2,6],18],[12,3,6],[12,3,6],24]] 我有一个包含 number of rows having a transition from 12,1,6 to 12,1,6 is 15 number of rows having a transition from 12,2,6 to 12,2,6 is 18 number of rows having a transition fro

我的数据

List=[[12,1,6],[12,1,6],15],[12,2,6],[12,2,6],18],[12,3,6],[12,3,6],24]]
我有一个包含

number of rows having a transition from 12,1,6 to 12,1,6 is 15
number of rows having a transition from 12,2,6 to 12,2,6 is 18
number of rows having a transition from 12,3,6 to 12,3,6 is 24
作为列表 此数据不是生成的。我的数据中还有许多其他可能的组合。上面所说的就是示例

我希望我的输出是一个具有此转换概率的列表

比如说


P1 = the probability of transition from 12,1,6 to 12,1,6 
   = 15/total length of rows/elements  in the list.(In this case it is 3)

P2 = the probability of transition from 12,2,6 to 12,2,6 
   = 18/total length of rows in the list

我的输出需要

List=[[12,1,6],[12,1,6],15,P1=(15/3)*[100],[12,2,6],[12,2,6],18,P2],[12,3,6],[12,3,6],[24,P3]]
我已经尝试了很多,如果我得到建议会很有帮助

def排序(sub_li):
sub_li.sort(reverse=True,key=lambda x:x[1])
返回sub_li
打印(排序())

列表
18
之后有一个额外的
]
,因此我在编写这段代码之前删除了它,这段代码假定所有行的长度都相同

List = [[[12,1,6],[12,1,6],15],[[12,2,6],[12,2,6],18],[[12,3,6],[12,3,6],24]]

for i, value in enumerate(List):
    value.append(("P%d=%f" % ((i + 1), value[2] / len(value[0]) * 100)))

print(List)
输出:

[[[12, 1, 6], [12, 1, 6], 15, 'P1=500.000000'], [[12, 2, 6], [12, 2, 6], 18, 'P2=600.000000'], [[12, 3, 6], [12, 3, 6], 24, 'P3=800.000000']]

List
18
之后有一个额外的
]
,因此我在编写这段代码之前删除了它,这段代码假定所有行的长度都相同

List = [[[12,1,6],[12,1,6],15],[[12,2,6],[12,2,6],18],[[12,3,6],[12,3,6],24]]

for i, value in enumerate(List):
    value.append(("P%d=%f" % ((i + 1), value[2] / len(value[0]) * 100)))

print(List)
输出:

[[[12, 1, 6], [12, 1, 6], 15, 'P1=500.000000'], [[12, 2, 6], [12, 2, 6], 18, 'P2=600.000000'], [[12, 3, 6], [12, 3, 6], 24, 'P3=800.000000']]

概率必须介于0和1之间,包括0%和100%。15/3或(15/3)*100违反了这一点。这是一个样本数据。我写了一些文字来澄清逻辑。作为旁白,变量和函数名应该在
小写字母后面加下划线。
[12,1,6]
[12,6,1]
相同吗?也就是说,子列表的顺序重要吗?如果不是,请使用计数器…概率必须介于0和1之间,包括0%和100%。15/3或(15/3)*100违反了这一点。这是一个样本数据。我写了一些文字来澄清逻辑。作为旁白,变量和函数名应该在
小写字母后面加下划线。
[12,1,6]
[12,6,1]
相同吗?也就是说,子列表的顺序重要吗?如果没有,请使用计数器。。。