分享几个简单易懂的Python技巧,能够极大的提高工作效率哦!,


 

今天和大家来分享几个关于Python的小技巧,都是非常简单易懂的内容,希望大家看了之后能够有所收获。

01. 将字符串倒转 

  1. my_string = "ABCDE"  
  2. reversed_string = my_string[::-1]  
  3. print(reversed_string)  
  4. --------------------------------------  
  5. # Output  
  6. # EDCBA 

02. 将英文单词的首字母大写

通过title()方法来实现首字母的大写

  1. my_string = "my name is xiao ming"  
  2. # 通过title()来实现首字母大写  
  3. new_string = my_string.title() 
  4.  print(new_string)  
  5. -------------------------------------  
  6. # output  
  7. # My Name Is Xiao Ming 

03. 给字符串去重 

  1. my_string = "aabbbbbccccddddeeeff"  
  2. # 通过set()来进行去重  
  3. temp_set = set(my_string)  
  4. # 通过join()来进行连接  
  5. new_string = ''.join(temp_set)  
  6. print(new_string)  
  7. --------------------------------  
  8. # output  
  9. # dfbcae 

04. 拆分字符串

Python split()通过指定分隔符对字符串进行切片,默认的分隔符是" "

  1. string_1 = "My name is xiao ming"  
  2. string_2 = "sample, string 1, string 2"  
  3. # 默认的分隔符是空格,来进行拆分  
  4. print(string_1.split())  
  5. # 根据分隔符","来进行拆分  
  6. print(string_2.split(','))  
  7. ------------------------------------  
  8. # output  
  9. # ['My', 'name', 'is', 'xiao', 'ming']  
  10. # ['sample', ' string 1', ' string 2'] 

05. 将字典中的字符串连词成串 

  1. list_of_strings = ['My', 'name', 'is', 'Xiao', 'Ming']  
  2. # 通过空格和join来连词成句  
  3. print(' '.join(list_of_strings))  
  4. -----------------------------------------  
  5. # output  
  6. # My name is Xiao Ming 

06. 查看列表中各元素出现的个数 

  1. from collections import Counter  
  2. my_list = ['a','a','b','b','b','c','d','d','d','d','d']  
  3. count = Counter(my_list)   
  4. print(count)   
  5. # Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})  
  6. print(count['b']) # 单独的“b”元素出现的次数  
  7. # 3  
  8. print(count.most_common(1)) # 出现频率最多的元素  
  9. # [('d', 5)] 

07. 合并两字典 

  1. dict_1 = {'apple': 9, 'banana': 6}  
  2. dict_2 = {'grape': 4, 'orange': 8}  
  3. # 方法一  
  4. combined_dict = {**dict_1, **dict_2}  
  5. print(combined_dict)  
  6. # 方法二  
  7. dict_1.update(dict_2)  
  8. print(dict_1)  
  9. # 方法三  
  10. print(dict(dict_1.items() | dict_2.items()))  
  11. ---------------------------------------  
  12. # output   
  13. # {'apple': 9, 'banana': 6, 'grape': 4, 'orange': 8}  
  14. # {'apple': 9, 'banana': 6, 'grape': 4, 'orange': 8}  
  15. # {'apple': 9, 'banana': 6, 'grape': 4, 'orange': 8} 

08. 查看程序运行的时间 

  1. import time  
  2. start_time = time.time()  
  3. ########################  
  4. # 具体的程序..........  
  5. ########################  
  6. end_time = time.time()  
  7. time_taken_in_micro = (end_time- start_time) * (10 ** 6)  
  8. print(time_taken_in_micro) 

09. 列表的扁平化

有时候会存在列表当中还嵌套着列表的情况,

  1. from iteration_utilities import deepflatten  
  2. l = [[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]  
  3. print(list(deepflatten(l, depth=3)))  
  4. -----------------------------------------  
  5. # output  
  6. # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

10. 查看列表当中是否存在重复值 

  1. def unique(l):  
  2.     if len(l)==len(set(l)):  
  3.         print("不存在重复值")  
  4.     else: 
  5.          print("存在重复值")  
  6. unique([1,2,3,4])  
  7. # 不存在重复值  
  8. unique([1,1,2,3])  
  9. # 存在重复值 

11. 数组的转置 

  1. array = [['a', 'b'], ['c', 'd'], ['e', 'f']]  
  2. transposed = zip(*array)  
  3. print(list(transposed))   
  4. ------------------------------------------  
  5. # output  
  6. # [('a', 'c', 'e'), ('b', 'd', 'f')] 

12. 找出两列表当中的不同元素 

  1. def difference(a, b):  
  2.     setset_a = set(a)  
  3.     setset_b = set(b)  
  4.     comparison = set_a.difference(set_b)  
  5.     return list(comparison)  
  6. # 返回第一个列表的不同的元素  
  7. difference([1,2,6], [1,2,5])  
  8. # [6] 

13. 将两列表变成键值对

将两个列表合并成一个键值对的字典

  1. def to_dictionary(keys, values):  
  2.     return dict(zip(keys, values))      
  3. keys = ["a", "b", "c"]      
  4. values = [2, 3, 4]  
  5. print(to_dictionary(keys, values))  
  6. -------------------------------------------  
  7. # output  
  8. # {'a': 2, 'b': 3, 'c': 4} 

14. 对字典进行排序

根据字典当中的值对字典进行排序

  1. d = {'apple': 9, 'grape': 4, 'banana': 6, 'orange': 8}  
  2. # 方法一  
  3. sorted(d.items(), key = lambda x: x[1]) # 从小到大排序  
  4. # [('grape', 4), ('banana', 6), ('orange', 8), ('apple', 9)]  
  5. sorted(d.items(), key = lambda x: x[1], reverse = True) # 从大到小排序  
  6. # [('apple', 9), ('orange', 8), ('banana', 6), ('grape', 4)]  
  7. # 方法二  
  8. from operator import itemgetter  
  9. print(sorted(d.items(), key = itemgetter(1)))  
  10. # [('grape', 4), ('banana', 6), ('orange', 8), ('apple', 9)] 

15. 列表中最大/最小值的索引 

  1. list1 = [20, 30, 50, 70, 90]  
  2. def max_index(list_test):  
  3.     return max(range(len(list_test)), key = list_test.__getitem__)  
  4. def min_index(list_test):  
  5.     return min(range(len(list_test)), key = list_test.__getitem__)  
  6. max_index(list1)  
  7. # 4  
  8. min_index(list1)  
  9. # 0  

鸿蒙官方战略合作共建——HarmonyOS技术社区

评论关闭