Python如何将列表元素分类保存到字典中
1、创建一个列表lst和一个空字典dic,列表当中加入要求中的数字,字典为我们存放将来提取到的数字做准备,代码:
lst =[10,20,30,40,50,60,70,80,90,99]
dic ={}

2、利用for循环提取列表lst当中的所有元素,也就是那些数字。代码如下:
for l in lst:

3、在for循环当中写入if判断语句,当提取到的数字小于45,我们就把这个数字放到对应字典的key1的值里面。当第一次往字典里面放入数据的时候由于字典是空的,所以我们需要把第一次的插入的情况再做判断。代码如下:
if l < 45:
if dic.get("key1")==None:
dic["key1"] = [l]
else:
dic["key1"].append(l)
这个是当数字小于45的时候的处理情况,注意里面的循环是嵌套的

4、接下来我们按照同样的方法,处理数字大于45的情况,整体代码如下:
if l < 45:
if dic.get("key1")==None:
dic["key1"] = [l]
else:
dic["key1"].append(l)
else:
if dic.get("key2")==None:
dic["key2"] = [l]
else:
dic["key2"].append(l)

5、我们利用print打印这个字典dic,打印结果如图所示,实现了元素分类的要求

6、以上是利用的算法来实现了要求,下面我们直接用Python当中的一个字典查询方式直接实现,代码如下:
dic = {}
lst = [10,20,30,40,50,60,70,80,90,99]
for l in lst:
if l < 45:
dic.setdefault("key1",[]).append(l)
else:
dic.setdefault("key2",[]).append(l)
print(dic)
我们是利用了setdefault这个方法实现了直接进行条件判断,然后插入到字典中

7、第一种方法代码整体总结:
lst =[10,20,30,40,50,60,70,80,90,99]
dic ={}
for l in lst:
if l < 45:
if dic.get("key1")==None:
dic["key1"] = [l]
else:
dic["key1"].append(l)
else:
if dic.get("key2")==None:
dic["key2"] = [l]
else:
dic["key2"].append(l)
print(dic)
运行效果图

8、第二种方法代码:
dic = {}
lst = [10,20,30,40,50,60,70,80,90,99]
for l in lst:
if l < 45:
dic.setdefault("key1",[]).append(l)
else:
dic.setdefault("key2",[]).append(l)
print(dic)

阅读量:179
阅读量:79
阅读量:103
阅读量:78
阅读量:167