1、sorted( )[i:j:-1] 排序完了直接逆序切片,且 i,j 范围为-1>=i>j,切片范围为i~j-1;
2、map(function, list) 将第一个方法作用于后一个数组上的所有元素,注意python3中map函数直接返回map对象(python2则是返回list);
3、dict( ) 直接将zip包转换为内置字典类型,dict中的get方法返回key对应的值(如果存在,否则返回定义的值或者none)
如下代码:
2、map(function, list) 将第一个方法作用于后一个数组上的所有元素,注意python3中map函数直接返回map对象(python2则是返回list);
3、dict( ) 直接将zip包转换为内置字典类型,dict中的get方法返回key对应的值(如果存在,否则返回定义的值或者none)
如下代码:
sort=sorted(nums)[::-1] #对应1
index=["Gold Medal", "Silver Medal", "Bronze Medal"]+list(map(str,range(4,len(nums)+1))) #对应2
return list(map(dict(zip(sort,index)).get,nums)) #对应2,3
4、list 对象转换为 str 对象:
nums=[1,2,3,4,5,6]
str1="".join(nums)
str2=","join(nums)
>>> str1="123456"
>>> str2="1,2,3,4,5,6"
str 对象转换为 list 对象:
lis1=list(str1)
lis2=str2.split(",")
>>>lis1=[1,2,3,4,5,6]
>>>lis2=[1,2,3,4,5,6]
5、将 set/list 转为dict:(注意:如果字典 res 中键值为0,则用res.get(xx)得到的布尔结果还是False,虽然结果确实存在)
give=[]
res=dict((item,0) for item in give)
giveset=set(give)
res=dict((item,0) for item in giveset)