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

1.对列表a = [1,2,3,1,2,4,6]进行去重后,得到列表b,在不考虑列表元素的排列顺序的前提下,下列方法错误的是:(D

 A.

b = list(set(a))

B.

b = {}
b = list(b.fromkeys(a))

C.

a.sort()
b = []
i = 0
while i < len(a):
    if a[i] not in b:
        b.append(a[i])
    else:
        i += 1

D.

a.sort()
for i in range(len(a)-1):
    if a[i] == a[i+1]:
    a.remove(a[i])
else:
    continue
    b = a

解析:

       D选项错误原因在于for循环的计数次数是不变的,但是随着a重复元素不断的移除,会导致列表出现IndexError。


2.在Python3中,下列语句正确结果为:C

tmp = [2, 1, 5, 4, 7]
print(max(tmp))
print(tmp.index(max(tmp)))

A.7,1 

B.5,2 

C.7,4 

D.7,5

解析:

       Python3中,max(obj)函数表示返回 obj 的最大元素,list.index(obj) 表示返回 obj 在 list 中的索引(list的索引是从0开始的)。 


3.对于以下代码,描述正确的是:(D)

list = ['1', '2', '3', '4', '5']
print(list[10:])

 A.导致 IndexError 

B.输出['1', '2', '3', '4', '5'] 

C.编译错误 

D.输出[]

解析:

       如果是索引访问,会导致IndexError,但本体考的是切片,切片操作时如果索引越界不会导致IndexError,只是返回一个空序列,这里返回空列表 []。


4.有如下Python代码段的运行结果为:(C:

b1=[1,2,3]
b2=[2,3,4]
b3 = [val for val in b1 if val in b2]
print (b3)

A.[1,2,3,4]

B.[2]

C.[2,3]

D.程序有误

解析:

       遍历列表1然后遍历列表2两个有同样元素返回。


5.在Python3中,关于字符数组的运行结果为:(D)

names = ["Andrea", "Aaslay", "Steven", "Joa"]
lists = []
for name in names:
    if name.count('a') >= 2:
        lists.append(name)
print(lists)

A.[‘Andrea’, 'Aaslay', 'Joa']

B.[]

C.[‘Andrea’, 'Aaslay']

D.['Aaslay']

解析:

       此题题意为:从名字的字符数组中找出名字中包含字母 ‘a’ 个数大于等于2个名字列表合集;首先对名字的字符数组进行遍历获取每一个名字,再通过 count() 函数判断名字中是否包含字母 ‘a’ 个数大于等于2个,将符合要求的名字字符存放到lists数组中(需要注意 ‘a’ 是区分大小写的),最后输出的 lists = ['Aaslay']。


37c0b95feb5045da8bc49047740ee270.jpeg

 

 

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

漫步桔田

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

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

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

打赏作者

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

抵扣说明:

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

余额充值