找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 52|回复: 1

[已解决] 帮忙查看下这个输出结果没有得到我想要的输出

1

主题

15

帖子

15

积分

贫民

积分
15
HZQ_HZA 发表于 5 天前 | 显示全部楼层 |阅读模式
本帖最后由 HZQ_HZA 于 2017-8-12 13:58 编辑

一个字典结构如下:
d = {'2017093': [11,9], '2017092': [12], '2017091': [], '2017090': [], '2017089': [12]}
key表示日期:value 存放数字列表。现需求将所有value里面元素存在相等的key 日期差查询出来
d = {'2017093': [11,9], '2017092': [12,9], '2017091': [], '2017090': [], '2017089': [12]}
lst =[]
for  key  in d:
    if d[key]!=[]:
        lst.append(d[key])
    else:
        pass
print(lst)
print("KKKKKKKKKKKKKKKKK")
for i in range(0,len(lst)-1):
   
    for j in range(i+1,len(lst)):
        cc =list((set(lst).union(set(lst[j])))^(set(lst)^set(lst[j])))
        print("%%%%%%%%%%%")
        if len(cc)>0:
            print(str(cc)+"CCCCC")
            key_j = list(d.keys())[list(d.values()).index(lst[j])]
            key_i = list(d.keys())[list(d.values()).index(lst)]
            print("XXXXXXXXXXXXXXX")
            print("lst =="+str(lst))
            print("lst[j] =="+str(lst[j]))
            print("======")
            print(key_j)
            print(key_i)
            hh=mix_key =abs(int(key_i)-int(key_j))
            print("HHH=="+str(hh))
            lst_mix = []
            lst_mix.append(hh)
        else:
            pass
print("lst_mix   "+str(lst_mix))

========输出的dic
[[12], [11, 9], [12, 9]]
KKKKKKKKKKKKKKKKK
%%%%%%%%%%%
%%%%%%%%%%%
[12]CCCCC
XXXXXXXXXXXXXXX
lst ==[12]
lst[j] ==[12, 9]
======
2017092
2017089
HHH==3
%%%%%%%%%%%
[9]CCCCC
XXXXXXXXXXXXXXX
lst ==[11, 9]
lst[j] ==[12, 9]
======
2017092
2017093
HHH==1
lst_mix   [1]
为什么没有得到我想要的
[3,1]

回复

使用道具 举报

1

主题

15

帖子

15

积分

贫民

积分
15
HZQ_HZA  楼主| 发表于 5 天前 | 显示全部楼层
lst_mix= []在循环中定义,每次都是置为空,所以保留最后一次匹配正常的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表