当前位置: 首页 > 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

 

相关文章:

  • 洛谷 B2123 字符串 p 型编码
  • 若依ruoyi-vue中图标使用介绍
  • [97编程世界冠军4K组]代码被转为ts脚本github代码如何在WIN10运行和调试
  • [ESP32]:TFLite Micro推理CIFAR10模型
  • MIGO行项目屏幕增强
  • 学习前端二十八天(数组方法)
  • vmware安装centos 7.9 操作系统
  • 云计算与边缘计算:有何不同?
  • 死磕Elasticsearch:携手六年,感谢有你!
  • 数据结构·顺序表实现通讯录
  • 尚硅谷webpack5笔记2
  • DOCKER逃逸
  • 【Vue】Vue全家桶(九)Vue3
  • #php 递归获取下级元素#
  • 使用 userdel 命令删除 Linux 中的用户
  • Docker部署Archery(v1.9.1)
  • jvm相关知识详解
  • AI(七)基础
  • CANalyst—Ⅱ 连通与手动收发测试、python收发测试
  • 类和对象基础(C++)
  • Maven简介、安装、使用、依赖传递
  • 11.MongoDB系列之连接副本集
  • 电子与电路复习题重点大题(附答案)
  • 【精品】seata综合示例:订单-库存-扣款
  • Spring常用注解的详细介绍(包你学明白)
  • Torchtext快速入门(一)——Vocab
  • 34461A数字万用表参数
  • AI加速(四)| 衣柜般的分层存储设计
  • Linux格式化输出当前时间
  • c++类和对象中
  • ATT汇编总结_9_静态库与动态库
  • VS Code For Web 深入浅出 -- 导读篇