9、展开列表 10、交换两个变量的值的函数 11、字典默认值 1、合并两个字典 方法一: defmerge_two_dicts(a, b): c = a.copy# make a copy of a c.update(b)# modify keys and values of a with the once from breturn c a ={'x':1,'y':14} b ={'y':314,'z':5,'a':2,'b':'0'} v1 = merge_two_dicts(a,b)print(v1) 点击加载图片 方法二: defmerge_dictionaries(a, b):return{**a,**b} a ={'x':1,'y':2} b ={'y':3,'z':4}print(merge_dictionaries(a, b)) 点击加载图片 2、将两个列表转化为字典(zip方法) defto_dictionary(keys, values):returndict(zip(keys, values)) keys =['l','o','v','e'] values =[9,4,2,0]print(to_dictionary(keys, values)) 点击加载图片 3、枚举法遍历字典的索引与值 list=['a','b','c','d']for index, element inenumerate(list):print('Value', element,'Index ', index,) 点击加载图片 4、Try可以加else:如果没有引起异常,就会执行else语句 try:print(2*3)except TypeError:print('An exception was raised')else:print('Thank God, no exceptions were raised.') 点击加载图片 5、根据元素出现频率取最常见的元素 defmost_frequent(li):returnmax(set(li), key = li.count) li =[1,2,1,2,3,2,1,4,2] v1 = most_frequent(li)print(v1) 点击加载图片 6、回文序列:检查给定的字符串是不是回文序列 回文:就是正读反读都是一样的序列; 它首先会把所有字母转化为小写,并移除非英文字母符号; 最后,它会对比字符串与反向字符串是否相等,相等则表示为回文序列。 defpalindrome(string):from re import sub s = sub('[\W_]','', string.lower)return s == s[::-1] v1 = palindrome('I love u evol I')print(v1) 点击加载图片 7、不使用if,else的计算子 不使用条件语句就实现加减乘除、求幂操作; 通过字典来操作 import operator action ={'+': operator.add,'-': operator.sub,'/': operator.truediv,'*': operator.mul,'**':pow} v1 = action['-'](52392,51872)print(v1) 点击加载图片 8、列表重组顺序 该算法会打乱列表元素的顺序,它主要会通过 Fisher-Yates 算法对新列表进行排序 from copy import deepcopy from random import randint defshuffle(lst): temp_lst = deepcopy(lst) m =len(temp_lst)while(m): m -=1 i = randint(0, m) temp_lst[m], temp_lst[i]= temp_lst[i], temp_lst[m]return temp_lst foo =[1,2,3,4,5] foo2 =[3,4,6,2,8,43,100,43,2] v1 = shuffle(foo) v2 = shuffle(foo2)print(v1, v2, sep='\n') 点击加载图片 9、展开列表 将列表内的所有元素,包括子列表,都展开成一个列表 defspread(arg): ret =[]for i in arg:ifisinstance(i,list): ret.extend(i)else: ret.append(i)return ret v1 = spread([1,2,3,[4,5,6],[7],8,9])print(v1) 点击加载图片 10、交换两个变量的值的函数 defswap(a, b):return b, a a, b =-1,14 v1 = swap(a, b)print(v1) 点击加载图片 11、字典默认值 通过 Key 取对应的 Value 值,可以通过以下方式设置默认值; 如果 get 方法没有设置默认值,那么如果遇到不存在的 Key,则会返回 None d ={'a':1,'b':2} v1 = d.get('c',3)print(v1) 点击加载图片 |
|