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

1.在Python3环境中,下列程序运行结果为:()

trupls = [(1, 2), (2, 3, 4), (4, 5)]
lists = []
for tru in trupls:
    for num in tru:
        lists.append(num)
print(lists)

A.[1, 2, 3, 4, 5]

B.(1, 2, 2, 3, 4, 4, 5)

C.[1, 2, 2, 3, 4, 4, 5]

D.(1, 2, 3, 4, 5)

解析:

      此题题意为:将元组构成的列表转换为一个全新的列表。第一层循环 tru 表示 trupls 中的每一个元组,第二个循环 num 为每一个元组中的元素,将num 添加到全新的列表 lists中,最后结果返回 [1, 2, 2, 3, 4, 4, 5]。


2.在python3中,程序运行结果为:(B)

truple = (1, 2, 3)
print(truple*2)

A.(2,4,6)

B.(1, 2, 3, 1, 2, 3)

C.[1, 2, 3, 1, 2, 3]

D.None

解析:

       在python3中,元组的 “*” 运算也表示元组复制组合,即(1, 2, 3) + (1, 2, 3),最后会生成一个新的元组:(1, 2, 3, 1, 2, 3)。


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

A. 

t1 = (1,2,3)
t2 = t1[:]
print(t1 is t2)

 B.

lis1 = [1,2,3]
lis2 = lis1[:]
print(id(lis1)==id(lis2))

C. 

s1 = '123'
s2 = '123'
print(s1 is s2)

D. 

a = 123
b = 123
print(id(a) == id(b))

解析: 

       Python中的不可变数据类型(数字、字符串、元组),不允许变量的值发生变化,如果改变变量的值,相当于新建一个对象,而对于相同的值的对象,在内存中则只有一个对象,即内存指向同一个地址;可变数据类型(列表、字典、集合),允许变量的值发生变化,如果对变量进行增删等操作后,只是改变变量的值,而不会新建一个对象,变量原引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址。


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

nums = set([1,2,2,3,3,3,4])
print(len(nums))

A.1 

B.2 

C.4 

D.5

解析:

       set先将列表转换成集合   去除列表内重复的元素,再利用len()函数计算结合内元素个数。


5.以下代码运行结果为:(A)

func = lambda x: x % 2
result = filter(func, [1, 2, 3, 4, 5])
print(list(result))

A.[1,3,5]

B.[1,2,1,0,1]

C.[1, 2, 3, 4, 5]

D.[1,2,3]

解析:

       filter(function, iterable)函数是Python中的高阶函数, 第一个参数是一个筛选函数, 第二个参数是一个可迭代对象, 返回的是一个生成器类型。以上程序可以简化为:result = filter(lambda x: x % 2, [1, 2, 3, 4, 5]) ,filter()把传入的function依次作用于iterable的每个元素, 满足条件返回True, 不满足条件返回False, 所以对2和4取余为0也就是False舍弃,1.3.5取余为1也就是True保留。


dbd1bb6eac8142aa8090e9b2c4d9275c.jpeg

 

 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漫步桔田

编程界的一枚小学生!感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值