复习python时,遇到的一些易错题,网上没有详细的解释,总结一下,若有错误和改进意见,欢迎评论交流!
1. 语句sorted([1, 2, 3], reverse=True) == reversed([1, 2, 3])执行结果为______。
正确答案: False
sorted() 函数对所有可迭代的对象进行排序操作,sorted(iterable, reverse=False) 即进行降序排列,返回的是降序排列后的原类型对象;reversed 函数返回一个反转的迭代器,即任意的可迭代类型,需用list()函数转换为列表对象
print(sorted([1, 2, 3], reverse=True) == list(reversed([1, 2, 3])))
输出为:
2. sorted([111, 2, 33], key=lambda x: len(str(x)))的执行结果为______。
正确答案: [2,33,111]
sorted函数原型:sorted(iterable, key=None, reverse=False) ,key = 元素用来进行比较的参数;
lambda x: len(str(x)) 是python中的匿名函数,x是参数,返回值是len(str(x)),即元素转换为字符串后的长度
函数总体的意义为:以元素转换为字符串后的长度来以小到大的升序输出
3. 表达式 3 and not 5 的值为______。
正确答案: False
not 5 返回 False,所以返回 False
not 0 // True
not -0 // True
not 0.0 // True
not 0+0j // True
not False // True
not 除0外任意数字(包括负数) // False
4. 已知列表 x = [1, 2],那么表达式 list(enumerate(x)) 的值为______。
正确答案: [(0,1),(1,2)]
enumerate() 函数将一个可遍历的数据对象(如列表、元组或字符串),组合为一个索引序列:元素下标和数据,原型为:enumerate(sequence, [start=0]),默认从0开始。一般用在 for 循环当中,下题中可见
输出中的(0,1)为下标为0,数据为1,(1,2)为下标为1,数据为2
5. 表达式 [index for index, value in enumerate([3,5,7,3,7]) if value == max([3,5,7,3,7])] 的值为______。
正确答案: [2, 4]
[ … for … in … if …] 为列表推导式的语法形式,题中的语句等价为:
result = []
for index, value in enumerate([3, 5, 7, 3, 7]):
if value == max([3, 5, 7, 3, 7]):
result.append(index)
print(result)
输出为:
6. 以下程序的输出结果是(提示:ord(’ a ')==97):
lista = [1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e']
print(lista[2] + lista[5])
正确答案: TypeError
python中类型不同,不能相加拼接
不同类型进行比较,如果其中一个是数字( int /float /long /complex 等),则数字型<其它非数字型;如果两个都是非数字型,则:
tuple () > str > list [ ] > dict {} > number
python 3.X 不支持str和数字类型进行比较,会报异常
7. 执行下列Python语句后输出显示的结果是( )。
s = ”GOOD MORNING”
print s[3:-4]
正确答案: D MOR
[ start : end : step ] 是切片的语法形式,start 和 end 是开始和结束的元素下标,前取后不取,即 end 下标位置的元素不取。负数则从后向前数,从-1开始
G O O D M O R N I N G
0 1 2 3 -4-3-2-1
8. 执行下面操作后,y的值是( )。
g= map(str, range(10))
g.__next__()
g.__next__()
x = 1 in g
y = '4' in g
正确答案: False
解释在:g= map(str, range(10)) g.next() g.next() x = 1 in g y = ‘4‘ in g …python易错题详解
这里是平平无奇的77,妄想优秀 ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ … 0%,若想转载请注明原链接,欢迎下次再来!!