当前位置: 首页 > news >正文

牛客网专项练习30天Pytnon篇第17天

1.在python3运行环境下,执行以下选项中的代码,其输出结果不为[2,4,6,8,10]的是:(D)

A.

a = [1,2,3,4,5,6,7,8,9,10]
print(a[1::2])

B.

a = [1,2,3,4,5,6,7,8,9,10]
lis = []
for i in a:
    if i % 2 == 0:
        lis.append(i)
print(lis)

C.

a = [1,2,3,4,5,6,7,8,9,10]
print(list(filter(lambda x:x % 2 ==0,a)))

D.

a = [1,2,3,4,5,6,7,8,9,10]
def is_odd(n):
    return n % 2 == 0
print(list(filter(is_odd(),a)))

解析:

       D选项会抛出一个缺少位置参数的异常,实际上这里调用的是函数本身,是整个函数体,不需要等待函数执行完成,所以调用时不需要加小括号,正确的调用方式为print(list(filter(is_odd,a)))。


2.在Python3中,下列程序运行结果为:(A)

lists = [1, 2, 3, 4]
tmp = 0
for i,j in enumerate(lists):
    tmp += i * j
print(tmp)

A.20

B.30

C.100

D.None

解析:

       Python3中,enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中,所以程序中表示返回列表的元素和对应下标乘积的累加求和。


3.执行以下程序,输出结果为:(D

lis = ['apple','lemon','pear','peach']
def fn(x):
return x[::-1]
lis.sort(key=fn,reverse=True)
print(lis)

A.['apple', 'lemon', 'peach','pear']

B.['pear', 'peach', 'lemon', 'apple']

C.['apple','pear', 'lemon', 'peach']

D.['pear', 'lemon', 'peach', 'apple']

解析:

       参数key=fn,而fn函数的执行效果就是根据元素的逆序后的字符串排序,参数reverse=True表示按照降序进行排序,因此答案为D。


4.执行下列选项的程序,输出结果为True的是:(B

A.

lis = [1,3,2]
a = id(lis)
lis = sorted(lis)
b = id(lis)
print(a==b)

B.

lis = [1,3,2]
a = id(lis)
lis += [4,5]
b = id(lis)
print(a==b)

C.

tup = (1,3,2)
a = id(tup)
tup += (4,5)
b = id(tup)
print(a==b)

D.

tup = (1,3,2)
a = id(tup)
tup = sorted(tup)
b = id(tup)
print(a==b)

解析:

       使用sorted()进行排序会生成新的序列,生成的新序列和原序列id值必然不同。对于可变对象,sorted()进行排序时原序列也发生变化,而本题A中用lis保存了生成的新序列,因此AD选项输出结果均为False;对于+=操作,如果是可变对象,则操作前后序列的id值不变,如果是不可变对象,则操作前后序列的id值改变,故B正确。


5.在Python3中,下列程序运行结果为:(A)

strs = ['a', 'ab', 'abc', 'python']
y = filter(lambda s: len(s) > 2, strs)
tmp = list(map(lambda s: s.upper(), y))
print(tmp)

A.['ABC', 'PYTHON']

B.['abc', 'PYTHON']

C.['abc', 'python']

D.['a', 'ab']

解析:

       此题题意为:过滤掉字符串 strs 中长度小于等于2的字符,并将剩余的字符转换为大写输出。首先,python3中的 filter(function, iterable) 函数,function -- 判断函数,iterable -- 可迭代对象,其中 lambda s: len(s) > 2 表示判断字符串的长度是否大于2,迭代对象为 strs接着,使用 map 函数将第一步过滤之后的字符转换为大写,upper() 为字符大写转换函数,最后采用 list() 将其转换为列表输出为 ['ABC', 'PYTHON']。


38887f7add6247448b934400a10d0d51.jpeg

 

相关文章:

  • 谁有凡科网做的网站/江苏网站推广公司
  • 品牌开发公司排名/sem优化是什么意思
  • 马鞍山网站建设服务开发/企业管理培训课程视频
  • wordpress replytocom/谷歌浏览器官网入口
  • 做直销建立个人网站好吗/淘宝指数查询工具
  • 做求职网站/南昌seo优化公司
  • 【Vue】Vue全家桶(九)Vue3
  • #php 递归获取下级元素#
  • 使用 userdel 命令删除 Linux 中的用户
  • Docker部署Archery(v1.9.1)
  • jvm相关知识详解
  • AI(七)基础
  • CANalyst—Ⅱ 连通与手动收发测试、python收发测试
  • 类和对象基础(C++)
  • Maven简介、安装、使用、依赖传递
  • 11.MongoDB系列之连接副本集
  • 电子与电路复习题重点大题(附答案)
  • 【精品】seata综合示例:订单-库存-扣款