表框操作函数集合

function selAdd( srcList, dstList )
{
    var selectedIndex 
= new Array();
    var count 
= 0;

    
for ( i=0; i<srcList.options.length; i++ ){

        
if ( srcList.options[i].selected ){
            
            selectedIndex[count] 
= i;
            count 
++;

        }

    }
                    

    
for ( j=0; j<selectedIndex.length; j++ ){
        
        k 
= selectedIndex[j];

        
if ( chkDup( srcList.options[k].value, dstList )==false ){
            dstList.options.length
++;
            var len 
= dstList.options.length-1;
            dstList.options[len].value 
= srcList.options[k].value;
            dstList.options[len].text 
= srcList.options[k].text;
        }


    }


}


// 描述: 删除列表框元素
function selDel( list )
{
    var len 
= list.options.length;
    var idx 
= 0;

    
while ( idx< len ){

        
if ( list.options[idx].selected ){
            list.options.remove(idx);
            len 
= list.options.length;
        }

        
else{
            idx 
++;
        }

    }

}


// 描述: 检测列表框元素重复
function chkDup( item, list )
{
    
for ( i=0; i<list.options.length; i++ ){
        
//alert( item + " - " + list.options[i].value );
        if ( item == list.options[i].value ){
            
return true;
        }

    }
                    
    
return false;
}


// 描述: 选择列表框的全部成员
function selSel( list, item )
{
    item.value 
= " ";
    
for ( i=0; i<list.options.length; i++ ){
        list.options[i].selected
=true;
        item.value 
+= list.options[i].value + " ";
    }


}


function selSelSingle( list, value )
{
    
for ( i=0; i<list.options.length; i++ ){
        
if ( list.options[i].value == value ){
            list.options[i].selected
=true;
            
break;
        }

    }


}

// 描述: 根据数组初始化列表框
function selList( item, arr )
{

    var curIndex, insIndex, val, text;
    var arrItem 
= new Array();

    
if ( item ){

        item.length 
= 0;
        curIndex 
= 0;

        
for ( i=0; i<arr.length; i++ ){

            item.length 
++;
            insIndex 
= item.length - 1;
            
            
if ( arr[i] ){
                arrItem 
= arr[i].split( "" );
                text 
= arrItem[1];
                val  
= arrItem[0];
                item.options[ insIndex ].text 
= text;    
                item.options[ insIndex ].value
= val;
            }

        }


    }

}

 
def aprioriGen(Lk, k): retList = [] lenLk = len(Lk) for i in range(lenLk): for j in range(i + 1, lenLk): # 两两组合遍历 L1 = list(Lk[i])[:k - 2] L2 = list(Lk[j])[:k - 2] L1.sort() L2.sort() if L1 == L2: # 前k-1项相等,则可相乘,这样可防止重复项出现 # 进行剪枝(a1为k项集中的一个元素,b为它的所有k-1项子集) a = Lk[i] | Lk[j] # a为frozenset()集合 a1 = list(a) b = [] # 遍历取出每一个元素,转换为set,依次从a1中剔除该元素,并加入到b中 for q in range(len(a1)): t = [a1[q]] tt = frozenset(set(a1) - set(t)) b.append(tt) t = 0 for w in b: # 当b(即所有k-1项子集)都是Lk(频繁的)的子集,则保留,否则删除。 if w in Lk: t += 1 if t == len(b): retList.append(b[0] | b[1]) return retList def apriori(dataSet, minSupport=0.2): # 前3条语句是对计算查找单个元素中的频繁项集 C1 = createC1(dataSet) D = list(map(set, dataSet)) # 使用list()转换为列表 L1, supportData = calSupport(D, C1, minSupport) L = [L1] # 加列表框,使得1项集为一个单独元素 k = 2 while (len(L[k - 2]) > 0): # 是否还有候选集 Ck = aprioriGen(L[k - 2], k) Lk, supK = scanD(D, Ck, minSupport) # scan DB to get Lk supportData.update(supK) # 把supk的键值对添加到supportData里 L.append(Lk) # L最后一个值为空集 k += 1 del L[-1] # 删除最后一个空集 return L, supportData # L为频繁项集,为一个列表,1,2,3项集分别为一个元素 # 生成集合的所有子集标注解释
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值