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

简介: 牛客网专项练习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']。


相关文章
|
人工智能 算法 搜索推荐
题库管理|考试管理|基于Web的大学生题库管理系统的设计与实现
题库管理|考试管理|基于Web的大学生题库管理系统的设计与实现
659 0
|
2月前
|
人工智能 搜索推荐 小程序
AI题库考试系统
本平台融合AI智能技术,打造高效课程试题库,支持PC、手机在线刷题,提供智能出题、自动解析、错题回顾、背题模式等功能,覆盖章节练习、笔记收藏、多端同步,助力学员精准提分,全面提升学习效率。
|
3月前
|
算法 IDE 开发工具
蓝桥杯备赛经验帖
本文是作者blue分享的蓝桥杯备赛经验帖,旨在帮助刚接触算法竞赛的新手。文章从个人参赛经历出发,详细介绍了蓝桥杯的OI赛制特点、比赛流程以及备赛建议。作者强调了重点掌握基础数论、DFS、数组操作、二分法、动态规划等知识,并建议多参与线上赛,熟悉输入输出规则,同时避免盲目刷题或过度依赖力扣。通过参赛,作者不仅提升了编码能力,还结识了优秀的朋友,认识到自身差距,激励自己不断进步。此经验适合新手参考,大佬可略过。
265 4
|
3月前
|
存储 安全 Java
2025 年 Java 秋招面试必看的 Java 并发编程面试题汇总
文章摘要: 本文系统梳理Java并发编程核心知识点,助力2025年秋招面试。内容涵盖:1)基础概念,包括线程/进程区别、创建线程的3种方式(Thread/Runnable/Callable)、6种线程状态及转换;2)关键机制,对比sleep()与wait()的锁行为差异,解释start()而非run()启动线程的原因;3)工具类与典型应用场景。通过技术原理与代码示例结合的方式,帮助开发者深入理解并发模型、线程同步等核心问题,为高并发系统设计打下坚实基础。(150字)
205 0
|
11月前
|
存储 JavaScript 前端开发
使用JavaScript构建动态交互式网页:从基础到实践
【10月更文挑战第12天】使用JavaScript构建动态交互式网页:从基础到实践
495 1
|
运维 监控 Devops
DevOps文化下的企业运维转型
【8月更文挑战第22天】在数字化转型的浪潮中,DevOps不仅仅是一种技术实践,更是一种企业文化。本文将探讨如何在DevOps文化的引导下,实现企业运维的高效转型,包括理念更新、流程优化和团队协作等方面。我们将一起思考如何打破传统壁垒,构建一个更加灵活、高效和协同的运维体系,以应对不断变化的市场和技术挑战。
155 1
|
8月前
|
安全 Java 程序员
面试直击:并发编程三要素+线程安全全攻略!
并发编程三要素为原子性、可见性和有序性,确保多线程操作的一致性和安全性。Java 中通过 `synchronized`、`Lock`、`volatile`、原子类和线程安全集合等机制保障线程安全。掌握这些概念和工具,能有效解决并发问题,编写高效稳定的多线程程序。
227 11
|
9月前
|
人工智能 自然语言处理 前端开发
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
CodeArena 是一个在线平台,用于测试和比较不同大型语言模型(LLM)的编程能力。通过实时显示多个 LLM 的代码生成过程和结果,帮助开发者选择适合的 LLM,并推动 LLM 技术的发展。
217 7
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
|
11月前
|
SQL 测试技术 数据库
如何设计一个交互式网站?
【10月更文挑战第7天】如何设计一个交互式网站?
251 4
|
运维 监控 安全
DevOps转型之路:从传统运维到自动化运维的演进
【7月更文挑战第25天】本文旨在探讨DevOps文化和实践如何影响并转变传统的运维模式,通过分析自动化运维的优势与挑战,提供实施自动化运维的策略和方法。文章将结合案例分析,展示自动化运维在提升效率、保障稳定性以及促进团队协作方面的实际成效,为读者提供一条清晰的DevOps转型路径。
187 4