提高 Python 代码的可读性,你需要知道的十个技巧

发表于:2021-12-10 09:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:python数据分析    来源:今日头条

  1. 字符串反转
  字符串反转有很多方法,咱们再这里介绍两种:一种是切片,一种是python字符串的reversed方法。
  # -!- coding: utf-8 -!- 
  string = 'hello world' 
   
  # 方法1 
  new_str = string[::-1] 
  ic(new_str) 
   
  # 方法二 
  new_str2 = ''.join(reversed(string)) 
  ic(new_str2) 
   
  ''' 
  ic| new_str: 'dlrow olleh' 
  ic| new_str2: 'dlrow olleh' 
  ''' 
  2. 首字母大写
  这里咱们也是介绍两种方法,区别之处在于**capitalize()**仅是首字母大写。
  **title()**是每个单词开头的首字母都大写。
  # 首字母大写 
  string = 'hello python and world' 
   
  # 方法一 
  new_str = string.capitalize() 
  ic(new_str) 
   
   
  # 方法二 
  new_str2 = string.title() 
  ic(new_str2) 
   
  ''' 
  ic| new_str: 'Hello python and world' 
  ic| new_str2: 'Hello Python And World' 
  ''' 
  3. 查询唯一元素
  我们利用set的唯一性来确定字符串的唯一元素:
  string = 'hellohellohello' 
  new_str = set(string) 
  # set类型 
  ic(new_str) 
  # 字符串类型 
  new_str = ''.join(new_str) 
  ic(new_str) 
   
  ''' 
  ic| new_str: {'l', 'o', 'h', 'e'} 
  ic| new_str: 'lohe' 
  ''' 
  4. 变量交换
  python中的变量交换比java简单多了,交换两个变量无需定义第三个中间变量,直接交换即可实现。
  a = 'hello' 
  b = 'world' 
  ic(a+b) 
   
  # 直接交换两个变量 
  a, b = b, a 
  ic(a+b) 
   
  ''' 
  ic| a+b: 'helloworld' 
  ic| a+b: 'worldhello' 
  ''' 
  5. 列表排序
  列表排序这里我们也提供两种方式。第一个是列表自带的**sort() 方法;第二个是python内置函数 sorted()**方法。
  score = [88, 99, 91, 85, 94, 85, 94, 78, 100, 80] 
  # 方法一 
  new_score = sorted(score) 
  ic('默认升序:', new_score) 
   
  score = [57, 29, 11, 27, 84, 34, 87, 25, 70, 60] 
  # 方法二 
  new_score2 = sorted(score, reverse=True) 
  ic('设置降序', new_score2) 
   
  ''' 
  ic| '默认升序:', new_score: [78, 80, 85, 85, 88, 91, 94, 94, 99, 100] 
  ic| '设置降序', new_score2: [87, 84, 70, 60, 57, 34, 29, 27, 25, 11] 
  ''' 
  6.列表推导式
  使用列表推导式可以快速生成一个列表或者根据列表生成满足需求的列表。
  # 生成10个10-100以内随机整数 
  numbers = [random.randint(10, 100) for x in range(10)] 
  ic(numbers) 
   
  # 输入5折后的价格 
  price = [800, 500, 400, 860, 780, 520, 560] 
  half_price = [(x*0.5)for x in price] 
  ic(half_price) 
   
  ''' 
  ic| numbers: [64, 22, 80, 70, 34, 81, 74, 35, 85, 12] 
  ic| half_price: [400.0, 250.0, 200.0, 430.0, 390.0, 260.0, 280.0] 
  ''' 
  7. 合并字符串
  合并字符串我们使用string的.join()方法实现。
  lists = ['hello', 'world', 'python', 'java', 'c++'] 
   
  # 合并字符串 
  new_str = ' '.join(lists) 
  ic(new_str) 
   
  ''' 
  ic| new_str: 'hello world python java c++' 
  ''' 
  8. 拆分字符串
  拆分字符串我们使用string的split()方法实现。
  string = 'hello world python java c++' 
  string2 = 'hello|world|python|java|c++' 
   
  # 拆分字符串 
  new_str = string.split(' ') 
  ic(new_str) 
   
  new_str2 = string2.split('|') 
  ic(new_str2) 
   
  ''' 
  ic| new_str: ['hello', 'world', 'python', 'java', 'c++'] 
  ic| new_str2: ['hello', 'world', 'python', 'java', 'c++'] 
  ''' 
  9. 回文串检测
  回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。我们可以根据之前提到的切片来检测这种特殊的字符串序列。
  str = '20211202' 
   
  if str == str[::-1]: 
      print('yes') 
  else: 
      print('no') 
   
  ''' 
  yes 
  ''' 
  10. 统计列表元素出现次数
  统计列表中元素各自出现的次数我们使用collections 的Counter方法。
  from collections import Counter 
  lists = ['a', 'a', 'b', 'b', 'b', 'c', 'd', 'd', 'd', 'd', 'd'] 
   
  # 统计所有元素出现的次数 
  counts = Counter(lists) 
  ic(counts) 
   
  # 统计某一元素出现的次数 
  ic(counts['d']) 
   
  # 统计出现最多次数的一个元素 
  ic(counts.most_common(1)) 
   
  ''' 
  ic| counts: Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1}) 
  ic| counts['d']: 5 
  ic| counts.most_common(1): [('d', 5)] 
  ''' 

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号