作业2:
有一个列表list1 = [1,2,3,‘a‘,‘b‘,4,‘c‘]
有一个未知字典dict1,不清楚内部键值对情况
如果dict1字典没有‘k1‘键值对,那就创建,并设置键的值为空列表,并将list1中的奇数索引位的元素添加进入这个的列表中
如果dict1字典有‘k1‘键值对,且对应值是列表类型,那就将list1中的奇数索引位的元素添加进入这个的列表中
思路
由于都要用到,先将list1的奇数位的元素提取出来
没有就创建,有就判断是否列表,然后添加,如果不是列表,不操作
最后print字典
list1 = [1,2,3,‘a‘,‘b‘,4,‘c‘]
dict1 = {‘k2‘:2,‘k3‘:3,‘kk‘:‘a‘,‘k1‘:[1]}
temp1 = []
#由于两个判断条件都要用到奇数索引位元素,所以就先提取出来
for elment in list1:
a = list1.index(elment)
if a%2 == 1:
temp1.append(elment)
print(temp1)
#先打印奇数索引号的列表
if dict1.get(‘k1‘) is None:
dict1.setdefault(‘k1‘,temp1)
#没有就创建,setdefault函数是检查key,如果字典中有了,返回该值,如果没有,增加这个key-default的键值对到字典
elif isinstance(dict1.get(‘k1‘),list):
dict1.get(‘k1‘).extend(temp1)
# 有就判断类型,然后增加进入列表
else:
pass
#如果不是列表类型, 啥都不变
print(dict1)