用户登录
用户注册

分享至

Python常用基础语法汇总

  • 作者: 待我溫柔似水淹死妳可好
  • 来源: 51数据库
  • 2021-11-22

Python常用语法汇总

一、字符串操作

字符串是不可更改的对象,因此无法直接修改字符串的某一位字符。 一种可行的方式是:将字符串转换为列表,修改列表的元素后,再重新连接为字符串。

s = "thisisastring" l = list(s) l[0] = "T" print(''.join(l)) 
  1. join() 方法:用于将序列中的元素以指定的字符连接生成一个新的字符串。
 def join(self, ab=None, pq=None, rs=None): """
        Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
        """ 
  1. split()方法:通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
 def split(self, *args, **kwargs): """
        Example: "this is a string".split(' ') -> ['this', 'is', 'a', 'string']
        """ 
  1. strip() 方法:用于移除字符串头和尾指定的字符(默认为空格或换行符)或字符序列。
 def strip(self, *args, **kwargs): """
        Example: "aaastripaa".strip("a") -> 'strip'
        """ 

二、列表

  1. 初始化一维列表
l1 = [0]* 9 # [0, 0, 0, 0, 0, 0, 0, 0, 0] l2 = [0 for i in range(9)] # [0, 0, 0, 0, 0, 0, 0, 0, 0] l3 = [i for i in range(9)] # [0, 1, 2, 3, 4, 5, 6, 7, 8] l4 = list(range(9)) # [0, 1, 2, 3, 4, 5, 6, 7, 8] 
  1. 初始化二维列表
# 初始化一个5 x 3每项为0的数组 multilist1 = [[0 for col in range(5)] for row1 in range(3)] multilist2 = [[0]*5 for row2 in range(3)] 

三、STL

  1. 双端队列:collections.deque()
  2. 优先队列:queue.PriorityQueue()
  3. 队列:queue.Queue()
  4. LIFO队列:queue.LifoQueue()
  5. 堆:heapq.heapify()

四、排序

排序规则的定义规定:{1, -1, 0} 分别代表{大于, 小于, 等于}。

  • sort():用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
  • sorted():对所有可迭代类型进行排序,并且返回新的已排序的列表。可以自定义排序,选择升序或降序。
# 例如:LeetCode 剑指 Offer 45. 把数组排成最小的数 def minNumber(self, nums: List[int]) -> str: def sort_rule(x, y): a, b = x + y, y + x if a > b: return 1 elif a < b: return -1 else: return 0 strs = [str(num) for num in nums] strs.sort(key = functools.cmp_to_key(sort_rule)) return ''.join(strs) 

五、直接赋值,浅拷贝与深拷贝

  • 直接赋值:其实就是对象的引用(别名)。

  • 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。所以原始数据改变,子对象会改变。

  • 深拷贝(deepcopy): 完全拷贝了父对象及其子对象。所以原始对象的改变不会造成深拷贝里任何子元素的改变

六、位运算

  • 异或^
    – 两个相同的数异或结果为0
    – 交换两个数:
    a = a^b
    b = a^b
    a = a^b

本文地址:http://www.51sjk.com/Upload/Articles/1/0/297/297139_20210728141808104.jpg

软件
前端设计
程序设计
Java相关