1、判断字符list中是否有重复
思路:通过集合去重,然后对比list长度,重复返回False,不重复返回True
#检查是否有重复元素 def check_repeat(list): return len(list)==len(set(list))
2、两个字符串每个字符出现次数均相等,顺序可以不同
counter方法可以统计字符出现次数
#检测两个字符串是否互为变位词(即互相颠倒字符顺序) from collections import Counter def counter_str(first,second): return Counter(first)==Counter(second)
3、以字节为单位返回字符串长度
思路:字符串编码格式改为UTF-8,然后统计长度
#以字节为单位返回字符串长度 def byte_size(str): return len(str.encode('utf-8')) #一个汉字占3个字节
4、重复打印字符串
思路:乘以n,实现多次的效果
#重复打印字符串N次 n=7 str='zhao' print(str*n)
5、字符串中每个词首字母大写
#首字母大写,字符串每个词进行首字母大写 s='count your awesome' print(s.title()) #字符串内每个词进行首字母大写
6、删除list中错误的数据
bool函数,错误的数就是FALSE,0,none,filter相当于迭代器,把list中的每个值传给bool方法
#以下方法使用fliter()删除列表中的错误值(如:false,none,0和"") def compact(lst): return list(filter(bool,lst)) print(compact([0,1,False,2,3,None,4,5]))
7、间隔数--转换二维数组
思路:通过解包函数,把array数组每个二维数组解包,重新组合
#间隔数--转换一个二维数组 array=[['a','b'],['c','d'],['e','f']] transposed=list(zip(*array)) print(transposed) #[('a', 'c', 'e'), ('b', 'd', 'f')]
8、字符串列表转换为单个字符串,列表中的每个元素用逗号分隔
#字符串列表转换为单个字符串,列表中的每个元素用逗号分隔 hobbies=['your','jeans','swimming'] print(','.join(hobbies))
9、计算元音字母数
思路:通过正则匹配,然后统计得出数组的长度就是元音字母数
import re def word_num(str): return len(re.findall('[aeiou]',str)) #正则匹配,然后统计个数
10、字符串首字母转小写
#首字母恢复小写 ----给定字符串的第一个字母转为小写 def decapitalize(str): return str[:1].lower()+str[1:]
11、多维数组变一维数组
#多维数组变一维数组 def spread(arg): ret=[] for i in arg: if isinstance(i,list): ret.extend(i) else: ret.append(i) return ret def deep_spread(lst): rets=[] rets.extend(spread(list(map(lambda x:deep_spread(x) if type(x)==list else x ,lst )))) return rets print(deep_spread([1,[3],[[3],4],5]))
12、找出两个数组中不同的字符
#差异--找出两个数组中不同的数 def difference(a,b): set_a=set(a) set_b=set(b) comparison=set_b.symmetric_difference(set_a) return list(comparison) print(difference([3,4,5],[2,3,4]))
13、链式函数,以下方法可在一行中调用多个函数
def add(a,b): return a+b def substract(a,b): return a-b a,b=4,5 print((substract if a>b else add)(a,b)) #一行调用多个函数
14、合并两个字典
def merge_two_dicts(a,b): #第一种方法 c=a.copy() c.update(b) return c def merge_dictionaries(a,b): #第二种方法 return {**a,**b} a = { 'x' : 1, 'y' : 2} b = { 'y' : 3, 'z' : 4} print(merge_two_dicts(a, b)) print(merge_dictionaries(a,b))
15、两个列表变为字典
思路:解包函数
def to_dic(keys,values): return dict(zip(keys,values)) print(to_dic([3,4,5],[6,7,8]))
16、枚举函数
list=['a','b','c','d','e'] for index,values in enumerate(list): print("value:%s , index:%s "%(values,index))
17、try-else
#try else ---你可以将ELSE子句作为try/except块的一部分,如果没有抛出异常,则执行该子句 try: 2*3 except TypeError: print('aaa') else: print('bbb')
18、找出列表中出现次数最多的元素
def most_frequent(list): return max(set(list),key=list.count) list=[1,2,3,4,1,2] print(most_frequent(list))
19、没有if-else语句的简单计算器
#没有if-else语句的简单计算器 import operator action={ "+":operator.add, "-":operator.sub, "/":operator.truediv, "*":operator.mul, "**":pow } print(action["+"](50,34))