为什么这个列表里的字典没发输出

list1=[{'hao':['jjj']},{'kk':['jj','iii','qqq']}]
groupname=input('请输入您要查询的小组名')
i=-1
for data in list1:
i = i + 1
if list1[i].keys() == groupname:
print(list1[i])
break
if i == len(list1) :
print('没有此小组')
break

img

list1=[{'hao':['jjj']},{'kk':['jj','iii','qqq']}]
groupname=input('请输入您要查询的小组名')
count=0
for data in list1:
    for key in data.keys():
        if key==groupname:
            print(data)
            count=1
            break
    if count==1:
        break
if count==0:
    print('没有此小组')

img

keys()函数返回值不是str,你输入的值为str。if判断进不去,所以没有输出值啊
这样改一下
for key in list1[i].keys():

1、如果是直接对数组遍历(for x in list 这种形式) ,那就不要用下标,容易混乱
2、要研究下字典的用法


list1=[{'hao':['jjj']},{'kk':['jj','iii','qqq']}]
groupname=input('请输入您要查询的小组名')
i=0
for data in list1:
    if groupname in data:
        print(data[groupname])
        break
    i = i + 1
if i == len(list1) :
    print('没有此小组')