#1.两个字典的合并 x = {'a': 1, 'b': 2} y = {'c': 3, 'd': 4} x.update(y) print(x) #字典的合并 dct1={'name':'wjh','age':20} dct2={'city':'beijing','areas':'昌平区'} #方法1 new_dict={**dct1,**dct2} print('字典合并后的结果为:{}'.format(new_dict)) #方法2 dct1.update(dct2) print('方法2合并后的结果:{}'.format(dct1)) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #2.两个列表的合并 x = ['a', 'b'] y = ['c', 'd', 'e'] x.extend(y) print(x) #或者 x += y print(x) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #3.计算列表中元素出现的频率,主要是通过调用python当中的collections模块来实现 from collections import Counter my_list = ['a', 'b', 'b', 'a', 'a', 'a', 'c', 'c', 'b', 'd','e','f','e','e','e','e'] print(Counter(my_list).most_common()) #若是我们想要出现频率最多的一个,也就是在上面代码的基础之上添加筛选第一个元素的操作即可 print(Counter(my_list).most_common()[0]) #当然要是在后面再添加一个[0],意思就是筛选出出现频率最多的元素 print(Counter(my_list).most_common()[0][0]) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### from collections import Counter list5='woxulingzhcaolixiu' counts = Counter(list5) print('字符串每个元素的个数为:{}'.format(counts)) print('字符串单个元素的个数为:{}'.format(counts['w'])) print('字符串单个元素出现次数最多的是:{}'.format(counts.most_common(1))) #迭代实现 dict1={} for i in list5: if i in dict1: dict1[i]+=1 else: dict1[i]=1 print("方法2统计出现次数最多的元素是:{}".format(max(dict1,key=lambda x:dict1[x]))) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #4.计算获得除法中的商和余数,一般我们若想取得除法当中的商和余数,一般是Python运算符号当中的//和/,而divmod方法则可以让我们同时获得除法运算当中的商和余数,代码如下 quotient, remainder = divmod(32, 6) print(quotient, remainder) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #5.计算得到列表当中长度最长的字符串 words = ['Python', 'is', 'awesome','xulingzhicaolixiu'] print(max(words, key=len)) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #6.将列表中的顺序倒转 words = ['lingxiu','Python', 'is', 'awesome','lizhi','xucao'] reverse_words = words[::-1] print(reverse_words) ####### 字符串的翻转 str1='wang jian hua' #方法1 print(str1[::-1]) #方法2 from _functools import reduce print(reduce(lambda x,y:y+x,str1)) # 说明:字符串的翻转,首先最简单的方法就是利用切片的操作,来实现翻转,其次可以利用reduce函数来实现翻转, # 在python3中,reduce函数需要从functools中进行导入 #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #7.文件的读与写 ,我们先将数据写入到文件当中 data = 'Python is awesome' with open('file.txt', 'a', newline='\n') as f: f.write(data) #那我们从刚生成的文件当中读取刚写入的数据,代码就是这么来写 data = [line.strip() for line in open("file.txt")] print(data) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #8.将字典当中的键值对位置调换 staff = {'Data Scientist': 'Mike', 'Django Developer': 'Dylan'} staff = {i:j for j, i in staff.items()} print(staff) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #9.将嵌套列表合并为一个列表 #假设我们有这样的一个列表 ss = [[1, 2, 3], [4, 5], [6], [7, 8], [9]] #而我们最终希望列表能够是 [1, 2, 3, 4, 5, 6, 7, 8, 9] #我们可以这么来做 flattened_list = [item for sublist in ss for item in sublist] print(flattened_list) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #10.列表当中数据类型的转换 #例如有下面的列表 ['1', '2', '3'] #我们要将其转换成整数类型,代码如下 print(list(map(int, ['1', '2', '3']))) #当然我们也可以将可以尝试转换成浮点数的类型,代码如下 print(list(map(float, ['1', 2, '3.0', 4.0, '5', 6]))) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #11.将列表转化成字典 cars = ['Audi', 'BMW', 'Ford', 'Tesla', 'Volvo'] cars_dict = dict(enumerate(cars)) print(cars_dict) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #12.将列表当中的重复元素去除 st = list(set(['a', 'a', 'b', 'a', 'c','y','x','c','c','x','y','a','b'])) print(st) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #13.从列表中筛选出特定元素 cars = ['Audi', 'BMW', 'Ford', 'Tesla', 'Volvo'] car_1 = [car for car in cars if car[0] == "A"] print(car_1) #当然我们还可以通过调用Python当中的filter方法来实现,代码如下 car_1 = list(filter(lambda c: c[0] == 'A', cars)) print(car_1) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #14.列表中的元素排序 numbers = [55, -30, 28, -36, 48, 20] numbers.sort() print(numbers) #当然我们也可以从大到小,这样的方式来排序,代码如下 numbers.sort(reverse=True) print(numbers) #而对于字符串而言,我们可以根据首字母的字母表顺序来排序 cars = ['Ford', 'Tesla', 'BMW', 'Volvo', 'Audi'] cars.sort() print(cars) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #15.合并集合 set1 = {"1", "2", "5"} set2 = {"4", "6", "7"} set1.update(set2) print(set1) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #16. 根据键来对字典进行排序 d = {'one': 1, 'three': 4, 'five': 8, 'six': 10} result = {key: d[key] for key in sorted(d.keys())} print(result) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #17. 根据键值来对字典进行排序 d = {'one': 15, 'three': 12, 'five': 8, 'six': 30} result = {key: value for key, value in sorted(d.items(), key=lambda item: item[1])} print(result) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #18. 替换字符串 s1 = "Python is a programming language. Python is awesome".replace("Python",'Java') print(s1) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #19. 计算指定字符串出现的次数 a = 'python is a programming language. python is python.' result = a.count('python') print(result) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #20. 将自定义方法作用在列表中的每个元素 from functools import reduce print(reduce(lambda x, y: x*y, [2, 2, 3, 4])) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #21. 找到最大的那个数 find_max = lambda x,y: x if x > y else y result = find_max(5,20) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #22. 将矩阵转置 a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] transposed = [list(i) for i in zip(*a)] print(transposed) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #23. 生成斐波纳契数列,斐波纳契数列指的是列表当中元素的值是由前两个元素的值的总和而来的,例如像是1, 1, 2, 3, 5, 8,13, # 要生成它的代码如下 fibo = [0, 1] [fibo.append(fibo[-2]+fibo[-1]) for i in range(10)] print(fibo) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #24. 删除列表中的多个元素 mylist = [100, 200, 300, 400, 500] del mylist[:3] print(mylist) #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #25. 多个if-else组合,目标是将下面多个if-else的组合,写在一行上面 x = 200 if x < 20: print("小于20") elif x == 200: print("等于200") else: print("大于20且不等于200") #我们也可以将多个if-else组合放在一行上面写 x = 200 print("小于20") if x < 20 else print("等于200") if x == 200 else print("大于20且不等于200") #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #26. 判断字符串是否是回文 str2='abccba' str2_1='abcde' def fun(string): if string == string[::-1]: print('该字符串是回文字符串') else: print('该字符串不是回文字符串') fun(str2) fun(str2_1) #27. 单词大小写 print(str1.title()) #首字母大写 print(str1.upper()) #所有字母大写 print(str1.capitalize()) # 字符串首字母大写 #28. 字符串的拆分 str3='I love Python' str3_1='I/love/Python' str3_2=' I love Python ' print(str3.split()) #默认按照空格进行拆分,返回的是列表 print(str3.split('/')) print(str3.split()) #默认去除字符串左右两边的空格,返回的是字符串 print(type(str3.strip())) #29. 将列表中的字符串合并 lst=['W','jianhua','Hua'] print(' '.join(lst)) #去除字符串中的不需要的字符 import re str4="W/ love. jian Hua" print(' '.join(re.split('\W+',str4))) #30. 查找字符串中唯一的元素 #寻找字符串中唯一的元素 s1='wwwwjjjjrrfttg' print(''.join(set(s1))) #对列表筛查 list1=[1,2,4,5,6,7,2,5,1] print(list(set(list1))) #说明一下:set可以帮助我们快速的筛查重复的元素,set不仅可以对字符串,还可以针对列表进行筛查 #################################################################################################################### print('\033[1;33m%s\033[0m' %("*-" *56)) #################################################################################################################### #31. 使出现重复的元素(乘法和加法) #重复的元素 str1='python' list1=[1,2,3] print('乘法表示-方法1:{}'.format(str1*3)) print('乘法表示-方法2:{}'.format(list1*2)) str2='python' list2=[1,2,3] str_new='' list2_new=[] #加法表示 for i in range(2): str_new+=str2 #字符串 list2_new.extend(list2) #列表 print(str_new) print(list2_new) #32. 扩展列表 list3=[2,2,3,2] print([2*x for x in list3]) #展开列表 list4=[[1,2,3],[4,5,6],[4,3],[1]] print([i for k in list4 for i in k])
Python 一行代码
#交换两个变量 # a = 4 b = 5 a,b = b,a
#多个变量赋值
a,b,c = 4,5.5,'Hello'
a,b,*c = [1,2,3,4,5]
print(a,b,c)
1 2 [3,4,5]
#列表中偶数的和
a = [1,2,3,4,5,6]
s = sum([num for num in a if num%2 == 0])
print(s)
#创建列表
lst = [i for i in range(0,10)]
print(lst)
#或者
lst = list(range(0,10))
print(lst)
#使用相同的方法创建一个字符串列表。
lst = [("Hello "+i) for i in ['Karl','Abhay','Zen']]
print(lst)
['Hello Karl', 'Hello Abhay', 'Hello Zen']
list(map(int,['1','2','3']))
> [1, 2, 3]
list(map(float,[1,2,3]))
> [1.0, 2.0, 3.0]
[float(i) for i in [1,2,3]]
> [1.0, 2.0, 3.0]
#创建集合 ,偶数的平方
{x**2 for x in range(10) if x%2==0}
#判断回文
text = 'level'
ispalindrome = text == text[::-1]
ispalindrome
> True
#用空格分隔的整数到一个列表
lis = list(map(int, input().split()))
print(lis)
> 1 2 3 4 5 6 7 8
[1, 2, 3, 4, 5, 6, 7, 8]
标签:技巧,python,56,简短,################################################################ From: https://www.cnblogs.com/chengxuyonghu/p/16899257.html