一、map函数和filter() 函数
1.题目
list(map(str, [1, 2, 3]))的执行结果为_____________
>>> list(map(str, [1, 2, 3]))
['1', '2', '3']
2.map函数
python内置的高阶函,它接收一个函数f和一个list,并通过把函数f依次作用在list 的每个元素上,得到一个新的list 并返回。
#每个元素求平方
def f(x):
return x*x
result=map(f,[1,3,5,-1])
list(result)
--> [1, 9, 25, 1]
map函数。此时lambda函数用于指定对列表中每一个元素的共同操作。例如map(lambda x: x+1, [1, 2,3])将列表[1, 2, 3]中的元素分别加1,其结果[2, 3, 4]。
3.filter() 函数
==filter() 函数用于过滤序列,==过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
(1)语法
以下是 filter() 方法的语法:
filter(function, iterable)
(2)参数
function – 判断函数。
iterable – 可迭代对象。
(3)返回值
返回列表。
filter 函数的实例:过滤出列表中的所有奇数
def is_odd(n):
return n % 2 == 1 #输入一个奇数返回的是True
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(list(newlist))
输出结果 :
[1, 3, 5, 7, 9]
过滤出1~100中平方根是整数的数:
import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0
newlist = filter(is_sqr, range(1, 101))
print(list(newlist))
输出结果 :
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
二、优先级
1.题目
语句x = 3==3, 5执行结束后,变量x的值为_____True_______
先等于,后赋值
2.优先级
函数调用、寻址、下标
幂运算**
翻转运算符~
正负号
*,/,%
+、-
三、地址,驻留机制
1.题目
已知 x = 3,并且id(x)的返回值为 496103280,那么执行语句 x += 6 之后,表达式 id(x) == 496103280 的值为 3
2.驻留机制
Python支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母和数字)会启用字符串驻留机制。
>>> a='1_2'
>>> b='1_2'
>>> a is b
True
>>> c='1*2'
>>> d='1*2'
>>> c is d
False
四、join函数
1.题目
(1)Python语句’ '.join(list(‘hello world!’))执行的结果是: ‘h e l l o w o r l d !’
(2)‘a’.join(‘abc’.partition(‘a’)) 的值为:‘aaabc’
>>> 'abc'.partition('a')
('', 'a', 'bc')
2.join()函数
- 语法
'sep'.join(seq)
- 参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串 - 返回值
返回一个以分隔符sep连接各个元素后生成的字符串
3.partition() 方法
partition() 方法用来根据指定的分隔符将字符串进行分割。
==如果字符串包含指定的分隔符,则返回一个3元的元组,==第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
partition() 方法是在2.5版中新增的。
- 语法
partition()方法语法:
str.partition(str)
- 参数
str : 指定的分隔符。 - 返回值
返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
实例
以下实例展示了使用 partition() 方法的使用
str = "www.runoob.com"
print str.partition(".")
输出结果为:
('www', '.', 'runoob.com')
五、sep和end
1.题目
Python 3.x语句 print(1, 2, 3, sep=’:’) 的输出结果为:1:2:3
print(1, 2, 3, end=':') :1 2 3:>>>
2.sep函数
sep: 用来间隔多个对象,默认是空格。eg: 空格 sep=" "
3.end 函数
用来设定以什么结尾。print默认是打印一行,结尾加换行。end=’ '意思是末尾不换行,加空格。,我们可以换成其他字符串。
六、切片
1.题目
(错)表达式 ‘Hello world!’[-4:] 的值为:’o’,’r’,’l’,’d’,’!’
(对)
>>> 'Hello world!'[-4:]
'rld!'
2.字符串切片
左边数字小,右边数字大
切片,是通过获取到需要的时候进行返回
那么就不再是之前的那个值,返回的是一个新值,则id不同
结果为false
类似于sort和sorted
转载:https://blog.csdn.net/muguangjingkong/article/details/105105418