列表经典测试题(有答案版)
变量类型之列表测试题
基础
已知一个数字列表,求列表中心元素。
例如:[1,2,3] -> 3;[1,2,3,4] -> 2,3
list1 = [1, 2, 3] # list2 = [1, 2, 3, 4] result = len(list1): if i % 2 == 0:left = result // 2 - 1right = result // 2print(list1[left], list1[right]) else:print(list1[result // 2])
不使用sum,已知一个数字列表,求所有元素和。
list2 = [1, 2, 3, 4, 5] num = 0 for i in range(len(list2))if i < 5:num += list2[i] print(f'元素的和为{num}')
已知一个数字列表,输出所有奇数下标元素。
list3 = [1,2,3,4,5,6,7] for i in range(len(list3)):if i % 2 != 0:print(list3[i])
已知一个数字列表,在原列表基础上将所有元素乘二。
例如:nums = [1, 2, 3, 4] —> nums = [2, 4, 6, 8]
nums = [1, 2, 3, 4] list4 = [i * 2 for i in nums] print(list4)
有两个列表A和B,使用列表C来获取两个列表中公共的元素。
例如: A = [1, ‘a’, 4, 90] B = [‘a’, 8, ‘j’, 1] --> C = [1, ‘a’]
A = [1, 'a', 4, 90] B = ['a', 8, 'j', 1] C = [i for i in A if i in B] print(C)
中等
- 有一个数字列表,获取这个列表中的最大值.(注意: 不能使用max函数)。
例如: nums = [19, 89, 90, 600, 1] —> 600
nums = [19, 89, 90, 600, 1] max_ = nums[0] for i in nums[1:]:if max_ < i:max_ = i print(max_)
- 利用列表推到式将列表中的整数提取出来。
例如:[True, 17, “hello”, “bye”, 98, 34, 21] — [17, 98, 34, 21]
nums1 = [True, 17, "hello", "bye", 98, 34, 21] new_str1 = [i for i in nums1 if type(i) == int] print(new_str1)
利用列表推到是将列表中的数字提取出来。
- 例如:[True, 17, “hello”, “bye”, 98, 34, 21,3.3,4.5] — [17, 98, 34, 21,3.3,4.5]
nums2 = [True, 17, "hello", "bye", 98, 34, 21, 3.3, 4.5] result1 = [i for i in nums2 if type(i) in [int,float]] print(result1)
用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)
- score = [10,20,50,70,99,80,45,30]。
score = [10, 20, 50, 70, 99, 80, 45, 30 ] a = max(score) b = min(score) result2 = [i for i in score if i not in [a, b]] # round(变量,保留小数位数i) print(round(sum(score) / len(score),2))
获取列表中出现次数最多的元素。
例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3],打印[3];nums = [1,2,2,1,3],打印[1,2]
# 第一种方法 numsl = [1, 2, 3, 2, 2, 6, 7, 8, ] # 使用集合去重,减少for循环遍历次数,提高效率 s1 = set(numsl) # max变量用来判断出现次数,content变量用来保存该次数是哪个元素 max = 0 content = [] for i in s1:if max < numsl.count(i):max = numsl.count(i)content.clear()content.append(i)elif max == numsl.count(i):content.append(i) print(f'出现次数最多的元素是{content}')# 第二种方法: maxCountElement = [] # 设置一个专门比较次数大小的变量 count = 0 nums = [1, 2, 3, 1, 4, 2, 1, 3, 7, 3, 3] # nums = [1,2,1,2,3] for i in nums:if nums.count(i) > count:# 先清空列表,必须出现多个值重复的元素。maxCountElement.clear()# 将出现次数最多变量的值记录下来,添加到新列表中。count = nums.count(i)maxCountElement.append(i)# 统计多个元素重复次数一样的。elif nums.count(i) == count and i not in maxCountElement:maxCountElement.append(i) print(maxCountElement)
地狱
使用列表推导式在1-100范围内随机生成包含10个数字的列表
import randomresult3 = [random.randint(1, 100) for _ in range(10)] print(result3)
不允许使用sort、sorted等方法,对上述列表排序
result3.reverse() print(result3)
分别使用三种方法对列表去重。
例如:name_list = [‘张三’, ‘李四’, ‘王五’, ‘李四’, ‘王五’, ‘王五’, ‘张三’],结果:[‘张三’,‘李四’,‘王五’]
# 第一种方法name_list = ['张三', '李四', '王五', '李四', '王五', '王五', '张三']list6 = []for i in name_list:if i not in list6:list6.append(i)print(list6)# 第二种方法set1 = set(name_list)new_list1 = list(set1)print(new_list1)# 第三种方法# 根据下标来查找列表里出现次数最多的元素,删除掉。i = 0while i < len(name_list):if name_list.count(name_list[i]) > 1:del name_list[i]else:i += 1print(name_list)
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
rom sys import stdouta = int(input('input a number:\n')) aa = [] aa.append(a % 10) aa.append(a % 100 / 10) aa.append(a % 1000 / 100) aa.append(a / 1000) for i in range(4):aa[i] += 5aa[i] %= 10 for i in range(2):aa[i],aa[3 - i] = aa[3 - i],aa[i] for i in range(3,-1,-1):stdout.write(str(aa[i]))
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
n=int(input("请输入总人数:")) m=int(input("请规定报到数字几的人退出圈子:")) circle=[] for i in range(1,n+1):circle.append(i) num=1 while len(circle)!=1:circle.append(circle.pop(0)) #把已报数的人取出放到队尾,以此实现围成圈循环往复num+=1if num==m:del circle[0] # 把报到规定数字的人踢出圈子num=1 # 重新从1开始报数 print("最后留下的人是原来第{}号的人".format(*circle))
列表经典测试题(有答案版)相关推荐
- 列表经典测试题(无答案版)
习题目录 变量类型之列表测试题 基础 中等 地狱 变量类型之列表测试题 基础 已知一个数字列表,求列表中心元素. 例如:[1,2,3] -> 3:[1,2,3,4] -> 2,3 不使用s ...
- 计算机高级培训测试题答案,计算机经典测试题及的答案.doc
计算机经典测试题及的答案 注:红色标识为答案 一.计算机应用基础选择题 1.第二代计算机采用()的电子逻辑元件. A.集成电路 B.真空管 C.晶体管 D.超大规模集成电路 2.世界上第一台电子计算机 ...
- mooc数据结构与算法python版期末测验_中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案...
中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案 更多相关问题 采用fopen()函数打开文件,支持文件读取的参数有: [简答题]简单阐述高分子材料热-机械特征及成型加工的关系,并 ...
- 鱼c论坛 python课后题pdf,我与python的第一次亲密接触_课后测试题及答案.pdf
我与python的第一次亲密接触_课后测试题及答案.pdf 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 2015/8/19 第001讲: ...
- 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第1课1.7节检查更新
本节书摘来自异步社区<Adobe Photoshop CS6中文版经典教程(彩色版)>一书中的第1课1.7节检查更新,作者[美]Adobe公司,更多章节内容可以访问云栖社区"异步 ...
- 《Adobe Premiere Pro CC经典教程(彩色版)》——2.2 建立项目
本节书摘来自异步社区<Adobe Premiere Pro CC经典教程(彩色版)>一书中的第2课,第2.2节,作者 [英国]Maxim Jago(马克西姆 亚戈),译者 陈昕昕,郭光伟 ...
- 《Adobe Illustrator CS6中文版经典教程(彩色版)》—第1课1.8节使用面板菜单
本节书摘来自异步社区<Adobe Illustrator CS6中文版经典教程(彩色版)>一书中的第1课1.8节使用面板菜单,作者[美]Adobe公司,更多章节内容可以访问云栖社区&quo ...
- java期末考试2013及答案_java笔试经典(题及答案)2013.doc
java笔试经典(题及答案)2013.doc Java笔试经典(基础部分及答案和分析)1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?7答:可以包括多个 ...
- 计算机管理员初级试题及答案,计算机管理员测试题及答案.doc
计算机管理员测试题及答案 请写出 568A 与 568B的线序答案: 568A的排线顺序从左到右依次为:白绿.绿.白橙.蓝.白蓝.橙.白棕.棕. 568B则为:白橙.橙.白绿.蓝.白蓝.绿.白棕.棕. ...
最新文章
- python array 语法_Python基本语法
- 打印HotSpot VM采用自动优化参数
- flex 各组件对应的样式属性2
- 国科大prml-往年习题
- 机器视觉开源代码集合(转载)
- 欧拉函数之和(51nod 1239)
- 对称加密算法和非对称加密算法速度对比
- 数学建模系列-优化模型---(一)规划模型
- 浙大计算机考研分数线2016,2016浙江大学考研复试分数线
- c#学习笔记---BackgroundWorker 详解
- 生成验证码并判断用户是否输入正确
- performing vcs refresh卡住不动解决方法
- Intel 至强E5/E7 V4 CPU与至强可扩展CPU性能对比表
- codeforces1292C Xenon‘s Attack on the Gangs
- 第2次作业:微信案例分析
- 修改const指针所指向的值
- 蓝牙室内定位,SOC芯片NRF52832
- 展示和隐藏后缀名操作
- OTA本质与实现流程分析
- 【程序人生】那些争议最大的编程观点