从 C++ 转变到 Python,最大的感受就是 Python 里面多了好多库好多函数。特此记下笔记以便自个后续查找。
函数类(按照字符串顺序排序):
# list.append(obj)
用于在列表末尾添加新的对象。
- obj -- 添加到列表末尾的对象
返回值:无,但是会改变原来的列表。
# chr(i)
chr () 用一个范围在 range(256)内的(就是 0~255)整数作参数,返回一个对应的字符。
- i -- 可以是 10 进制也可以是 16 进制的形式的数字。(16 进制数字开头需加 0x)
返回值:当前整数对应的 ascll 字符。
# list insert(index, obj)
insert () 函数用于将指定对象插入列表的指定位置。原本位置上的数据往后顺延。
- index -- 对象 obj 需要插入的索引位置。
- obj -- 要插入列表中的对象。
返回值:无,但会在列表指定位置插入对象。
# str.join(sequence)
用于将序列中的元素以指定的字符连接生成一个新的字符串。
str -- 指定的连接字符
sequence -- 待连接的序列,可以是元组,也可以是列表。
返回值:一个连接完整的字符串。
元组与列表区别:
我理解的元组类似于一种强定义,就是元组内的元素是不可更改的,如果需要改变则需整个元组一起改变。而列表就是一系列字符串的合集,可更改。
# map(function,iterable,...)
map () 会根据提供的函数对指定序列做映射,类似于循环。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
- function -- 函数
- iterable -- 一个或多个序列
返回值:python2 中返回列表,python3 中返回函数,可用 list () 转成列表。
# ord(c)
返回字符 c 对应的 ascll 数值。
- c -- 字符。
返回值:对应的十进制整数。
# range(start, stop[, step])
python3 中函数返回的是一个可迭代对象(类型是对象),而不是列表类型(虽然我个人一直理解为列表),可通过 list (range ()) 转化为列表。
start -- 计数从 start 开始。默认是从 0 开始。例如 range(5)等价于 range(0, 5);
stop -- 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是 [0, 1, 2, 3, 4] 没有 5
step -- 步长,默认为 1。例如:range(0, 5) 等价于 range (0, 5, 1)
返回值:一个可迭代对象。
# list.remove(obj)
remove () 函数用于移除列表中某个值的第一个匹配项。删除一个指定值,只会删除第一个,删除后不会往后寻找后面的项目。
- obj -- 列表中要移除的对象。
返回值:无,但是会删除列表中的值。
若要删除所有指定元素:
1 | while str in list: |
str 为指定元素,list 为列表。
也可以用 replace (),需注意的是 replace () 的对象是字符串,需要与 join () 和 split () 一起使用,较麻烦。
# str.replace(old,new[,max])
replace () 函数把字符串中 old(旧字符串) 替换成 new (新字符串),如果指定第三个参数 max,则替换不超过 max 次。
- old -- 将被替换的子字符串。
- new -- 新字符串,用于替换 old 子字符串。
- max -- 可选字符串,替换不超过 max 次。
返回值:一个替换过后新生成的字符串。
# list.sort(cmp=None, key=None, reverse=False)
sort() 函数用于对原列表进行排序,默认是将列表中的数据按照升序排列,如果指定参数,则使用比较函数指定的比较函数。
cmp -- 可选参数,如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
返回值:无,但是会对列表进行排序,改变原列表的值。
# str.split(tmp,num)
通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 得到 num+1 个子字符串。
str -- 待切片字符串
tmp -- 指定分隔符,如果没有则默认为所有空字符,包括空格、换行(\n)制表符(\t)等
num -- 分割次数,如果没有则默认为 - 1,即分割所有字符,如果分割次数小于分隔符发现次数,则以从左到右的优先级进行分割。
返回值:分割后的字符串列表。
# str.splitlines([keepends])
按照行 ('\r', '\r\n', \n') 分隔,返回一个包含各行作为元素的列表,关于转义字符详情
- keepends -- 在输出结果里是否保留换行符 ('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
返回值:一个包含各行作为元素的列表。
# str.strip([chars])
用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列,仅能删除头尾的指定字符,对字符串中间的字符没有影响。返回一个新生成的字符串。只要头尾包含有指定字符序列中的字符就删除。
- chars -- 移除字符串头尾指定的字符序列
返回值:一个新生成的字符串
而 str.lstrip ([chars]) 和 str.rstrip ([chars]) 分别删除字符串左边和右边的指定字符,默认为空格。