初学python日志
2020/3/9
-
input()
输入默认为char型,可以用int()、list()
转换#依次输入1234 A = input() # A={char}'1234' B = int(input()) # B={int}1234 C = list(input()) # C={list:4}['1','2','3','4']
-
字符串分隔函数
str.split()
的用法
str.split(分隔符:默认空字符(空格、\n、\t), 分隔次数:默认-1(所有)).str = 'abcdef \nabc \nabcd'; print(str.split()); # ['abcdef', 'abc', 'abcd'] print(str.split(' ', 1)); # ['abcdef', '\nabc \nabcd'] txt = "Google#Runoob#Taobao#Facebook" print(txt.split("#", 1)) # ['Google', 'Runoob#Taobao#Facebook']
-
将输入的带有分隔符的char型数字转换为int型数组
arr = input() # arr={char}'1234' arr = [int(n) for n in arr.split()] # arr={list:1}[1234]
-
python无自增语法,表达自增用
i += 1
-
求和函数
sum()
的用法
sum(可迭代对象:列表、元组、集合[, 参数])sum([0,1,2,3,4], 2) # 12
-
【报错: xxx index out of range】循环条件越界
-
条件执行有先后顺序,先对参数进行约束。
-
python
while p < length and A[p] == B[p]: -
python
while A[p] == B[p] and p < length:#string index out of range
-
-
执行
list[-1]
时list不能为空stack = [1] #初值 while j < 26 and list[j] == stack[-1]: stack.pop() j += 1 if len(stack) == 0:#隐含的边界条件 break
-
-
列表排序函数
list.sort()
用法
list.sort(比较的元素(默认第一个),排序规则(默认为False升序))def takeSecond(elem): # 获取列表的第二个元素 return elem[1] random = [(2,2),(3,4),(4,1),(1,3)] random.sort(key=takeSecond,reverse=False) # [(4,1),(2,2),(1,3),(3,4)]
-
字符串的插入、删除、替换
-
删除(即替换为空)
s = 'abcabcg' if 'bc' in s: s1 = s.replace('bc','') # 删除即把对应字符替换为空 s2 = s.replace('bc','',1) # 只删除第一次出现的字符
-
替换
if 'bc' in s: s1 = s.replace('bc','xy') # 把对应字符替换为'xy' s2 = s.replace('bc','xy',1) # 只替换第一次出现的字符
-
插入
s_list = list(s) s_list.insert(5,'0') s = ''.join(s_list) # s='abcde0fg'
-
2020/3/10
-
多元素赋值可以连等或者分组
a = b = c = 0 i, j = 1, 2
-
【报错:name ‘List’ is not defined】在头部导入
typing
模块from typing import List
typing模块的作用:
- 类型检查,防止运行时出现参数和返回值类型不对的情况
- 作为开发文档附加说明,方便使用函数时传入和返回正确的参数,利于开发效率
- 该模块并不会实际影响到程序的运行,不会报错,但是会有提示。
typing常用类型:
- int,long,float: 整型,长整形,浮点型;
- bool,str: 布尔型,字符串类型;
- List, Tuple, Dict, Set:列表,元组,字典, 集合;
- Iterable,Iterator:可迭代类型,迭代器类型;
- Generator:生成器类型;
-
【报错:local variable ‘xxx’ referenced before assignment】局部变量赋值前被引用
- 在函数中使用
global
关键字如:global xxx
- 在迭代/循环前为变量赋初值
- 在函数中使用