python小知识点随遇到随总结
enumerate()函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
语法
enumerate(sequence,[start=0]) #sequence : 一个序列、迭代器或其他支持迭代对象。start:下标起始位置。
eg.
seasons = ['one', 'two', 'three', 'four']
list(enumerate(seasons))
list(enumerate(seasons, start=1)) #下标从 1 开始
>>>[(0, 'one'), (1, 'two'), (2, 'three'), (3, 'four')]
>>>[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
与普通for循环对比
#普通for循环
i = 0
seq = ['one', 'two', 'three']
for element in seq:
print i, seq[i]
i +=1
#for循环使用enumerate
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
print i, element
#输出均为
0 one
1 two
2 three
切片(怎么就给忘记了,再来一次)
切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。普通索引只取出序列中一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。
eg.
a = list(range(10))
a
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a[:5]
>>> [0, 1, 2, 3, 4]
a[5:]
>>> [5, 6, 7, 8, 9]
a[2:8]
>>> [2, 3, 4, 5, 6, 7]
a[::2]
>>> [0, 2, 4, 6, 8]
a[::-1]
>>> [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
str常用操作
rstrip()
rstrip() 删除 string 字符串末尾的指定字符(默认为空格)。
语法
str.rstrip([chars])#chars :指定删除的字符(默认为空格)
eg.
str = "this is GiveMEColorCC";
print str.rstrip();
str = "666this is GiveMEColorCC666";
print str.rstrip('6');
>>>this is GiveMEColorCC
>>>666this is GiveMEColorCC
->(参考)
这是一个叫做返回值注解的符号。它通过允许将元数据附加到描述其参数和返回值的函数来扩展该功能。
eg.
def f(ham:str, eggs:str = 'eggs') -> str:
pass
表示返回值类型应该为str。(在此也可以不限于数据类型,也可以是具体字符串比如说‘Egg Number’,甚至是任何表达式等等)
优点:一个是非常方便允许使用预期类型注释参数; 然后很容易编写一个装饰器来验证注释或强制正确类型的参数。另一个是允许特定于参数的文档,而不是将其编码到docstring中。
insert()
insert() 将一个元素插入到列表中。
k=['b','c']
k.insert(0,'a')
>>> k=['a','b','c']
Counter()计数工具
class collections.Counter([iterable-or-mapping]).
s1="".join((lambda x:(x.sort(),x)[1])(list(s1))) #对字符串进行排序
Python中 append|extend|insert|add 区别
def init(self, name等多参数), def init(self)
class Student:
def __init__(self):
self.name = None #可以是一个空结构
self.score = None
def __init__(self, name, score):
self.name = name #初始化时,必须传值
self.score = score
python的functools.reduce用法
1.functools函数;reduce分解;lambda 匿名函数;x,y:x+y 表达式
2.使用functools.reduce,要是整数就累加;
3.使用functools.reduce,要是字符串、列表、元祖就拼接(相当脱了一层外套)