Python常用基础语法汇总
程序员文章站
2022-06-22 16:06:08
Python刷题常用语法汇总一、字符串操作字符串是不可更改的对象,因此无法直接修改字符串的某一位字符。 一种可行的方式是:将字符串转换为列表,修改列表的元素后,再重新连接为字符串。s = "thisisastring"l = list(s)l[0] = "T"print(''.join(l))join() 方法:用于将序列中的元素以指定的字符连接生成一个新的字符串。 def join(self, ab=None, pq=None, rs=None): """...
Python常用语法汇总
一、字符串操作
字符串是不可更改的对象,因此无法直接修改字符串的某一位字符。 一种可行的方式是:将字符串转换为列表,修改列表的元素后,再重新连接为字符串。
s = "thisisastring" l = list(s) l[0] = "T" print(''.join(l))
- join() 方法:用于将序列中的元素以指定的字符连接生成一个新的字符串。
def join(self, ab=None, pq=None, rs=None): """
Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
"""
- split()方法:通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
def split(self, *args, **kwargs): """
Example: "this is a string".split(' ') -> ['this', 'is', 'a', 'string']
"""
- strip() 方法:用于移除字符串头和尾指定的字符(默认为空格或换行符)或字符序列。
def strip(self, *args, **kwargs): """
Example: "aaastripaa".strip("a") -> 'strip'
"""
二、列表
- 初始化一维列表
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]
- 初始化二维列表
# 初始化一个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
- 双端队列:collections.deque()
- 优先队列:queue.PriorityQueue()
- 队列:queue.Queue()
- LIFO队列:queue.LifoQueue()
- 堆: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
本文地址:https://blog.csdn.net/weixin_43822457/article/details/108855149