1

创建一个列表lst和一个空字典dic,列表当中加入要求中的数字,字典为我们存放将来提取到的数字做准备,代码:

lst =[10,20,30,40,50,60,70,80,90,99]

dic ={}

1562a0b9763e21c2b0f13b63e6e89a618725b1be.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

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

for l in lst:

2083a5d6e1d06de894465c96ca93cee8b104acbe.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

在for循环当中写入if判断语句,当提取到的数字小于45,我们就把这个数字放到对应字典的key1的值里面。当第一次往字典里面放入数据的时候由于字典是空的,所以我们需要把第一次的插入的情况再做判断。代码如下:

if l < 45:

if dic.get("key1")==None:

dic["key1"] = [l]

else:

dic["key1"].append(l)

这个是当数字小于45的时候的处理情况,注意里面的循环是嵌套的

6ca9846186254193dfcf6ab7df1bd10ff326abbe.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

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)

555acf0ff2260d9a2629cd2a622abab84340a5be.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

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

16d8f72abab8424076d919a77ac595ee40c19ebe.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

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这个方法实现了直接进行条件判断,然后插入到字典中

c255efc595ee41c1960076e08d88912ca4ca9bbe.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

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)

运行效果图

5e615d715fdb3620961d173aabc5260f89358dbe.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

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)

b87bd38920c5260fbb120739d2de4507890189be.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐