python 字典-数字分类

【问题描述】

有例如如下列表ls= [11,22,33,44,55,66,77,88,99,90],ls里的数据是标准输入(至少有一个数据)

将所有大于 x 的值保存至字典的第一个key中,数据保持原列表的先后顺序不变

将小于等于 x 的值保存至第二个key的值中,数据保持原列表的先后顺序不变。

即: {'k1': 大于x的所有值列表, 'k2': 小于等于x的所有值列表}

转换成列表后输出

题目要求:

完成分类函数classify(x,ls)

【样例输入】

66

11 22 33 44 55 66 77 88 99 90

【样例输出】

[('k1', [77, 88, 99, 90]), ('k2', [11, 22, 33, 44, 55, 66])]

【样例说明】

输入两行:第一行x

             第二行多个正整数,空格隔开。

输出分类后的列表,即: [('k1', [大于x的所有值列表]), ('k2', [小于等于x的所有值列表])] ,数据保持原列表的先后顺序不变。


def  classify(x,ls):
        




        
x  =  int(input())
ls  =  input().split()
ls  =  list(map(int,ls))  #  map函数使用说明:int函数作用于ls中每一个元素,返回一个新的整数序列,再用list转换成列表
dic  =  {}
classify(x,ls)

print(sorted(list(dic.items())))

def  classify(x,ls):
    dic  =  dict()
    for i in ls:
        if i <= x:
            dic.setdefault('k2', i)
        else:
            dic.setdefault('k1', i)
    return dic
x  =  int(input())
ls  =  input().split()
ls  =  list(map(int,ls))  #  map函数使用说明:int函数作用于ls中每一个元素,返回一个新的整数序列,再用list转换成列表

dic = {}
dic = classify(x,ls)
 
print(sorted(list(dic.items())))

'''
dic = {'k1':[],'k2':[]}
ls = [11,22,33,44,55,66,77,88,99,90]
for i in ls:
if i > 66:
dic['k1'].append(i)
elif i < 66:
dic['k2'].append(i)
else:
continue
print(dic)
'''


ls= [11,22,33,44,55,66,77,88,99,90]
temp_dict = {'k1': [], 'k2': []}


def classify(x, ls):
    for n in ls:
        if x < n:
            temp_dict['k1'].append(n)
        else:
            temp_dict['k2'].append(n)


x = int(input('输入数字:'))
classify(x, ls)
print(list(temp_dict.items()))