python学习笔记(2)
python入门学习
filter()函数
filter()函数用于过滤掉不符合条件的元素,返回一个迭代器对象,一般格式为:
filter(function,iterable)
其中,function为半段函数,iterable为可迭代对象。
def IsEvenFunc(n):
return n % 2 == 0
a = list(filter(IsEvenFunc,[1,2,3,4,5]))
print("a: ",a)
zip()函数
zip()函数接收任意多个可迭代对象作为参数,将对象种对应的元素打包成一个元组,然后返回一个可迭代的zip对象
如果可迭代对象的长度不相同,取最短的可迭代对象的长度
zip([iterable,...])
其中,iterable为一个或多个迭代器。
a = list(zip(["泰山","黄山","庐山","华山"],["山东","安徽","江西","陕西"])) #打包
print("a: ",a)
z = zip([1,2,3],[4,5,6]) #打包
a = list(zip(*z)) #解包
print("a: ",a)
zip(*z)是解包,但是要注意我们不能先迭代z然后再去解包
枚举函数enumerate()
枚举函数enumerate()用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。
enumerate(sequence,[strat = 0])
其中,sequence: 一个序列,迭代器或其他支持的迭代对象。
start: 下表其实位置,可选。
weeks = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday','saturday']
a = list(enumerate(weeks))
print("a: ",a)
map()函数
map()函数把函数依此映射到序列或迭代器对象的每个元素上,并返回一个可迭代的map对象作为结果.
map(function,iterable,....)
其中,function为被调用的函数,iterable为一个或多个序列
def cube(x):
return x ** 3
a = list(map(cube,[1,2,3,4,5,6])) #计算列表中的各个元素的立方和
print("a: ",a)
def add(x, y):
return x + y
a = list(map(add,[1,2,3,4,5],[1,2,3,4,5])) #两个列表中相同位置的元素相加
print("a: ",a)
a,b = map(int, input("请输入两个数(用空格隔开):").split())
print("a = %d, b = %d."%(a,b))
- 我们注意到使用了一个函数 input().split()其中split()可以接收键盘输入的两个数字。
split()函数的原型为:
str1.split(str2=" ",num=string.count(str))
str1 : 表示为字符串
str2 : 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num : 分割次数。默认为 -1, 即分隔所有。
逻辑运算符和逻辑运算表达式
运算符 | 名称 | 逻辑表达式 | 描述 |
---|---|---|---|
and | 逻辑“与” | x and y | x为True或非0,返回y;否则返回x |
or | 逻辑“或” | x or y | x为True或非0,返回x;否则返回y |
not | 逻辑“非” | not x | x为True或非0,返回False;否则返回True |
运算符 | 描述 | 实例 | 结果 |
---|---|---|---|
in | 判断对象是否在序列中 | obj sequence | obj 在 sequence中返回True,否则返回False |
not in | 判断对象是否不在序列中 | obj not int sequence | obj 不在sequence中返回True,否则返回False |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!