Python练习之列表

1、输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列。

python 复制代码
a=input("输入列表元素:")
item=a.split(" ")
list=[eval(x) for x in item]
list.sort(key=None,reverse=True)
print(list)

输入列表元素:1 2 3 7 5
[7, 5, 3, 2, 1]

2、列表生成式。使用列表生成式生成列表,其元素为 100 以内所有能被 3 整除的数。

python 复制代码
list=[x for x in range(100) if x%3==0]
print(list)

[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]

3、给出一个包含若干整数的列表23,16,18,19,76,121,33,57,80,输出一个新列表,要求新列表中只包含原列表中的偶数。提示:可以使用 list、filter、lambda 函数完成。

python 复制代码
this_list=[23,16,18,19,76,121,33,57,80]
new_list=list(filter(lambda x:x%2==0,this_list))
print(new_list)

4、给出一个包含若干整数的列表23,16,18,19,76,121,33,57,80,输出列表中的所有整数连乘的结果。提示:可以使用 reduce、lambda 函数完成。

python 复制代码
from functools import reduce

a=[23,16,18,19,76,121,33,57,80]
result=reduce(lambda x,y:x*y,a)
print(result)

5、列表切片

编写程序,用户输入一个列表和两个整数作为下标,然后用切片获取并输出介入两个下标之间的元素组成的子列表。例如,用户输入1,2,3,4,5,6和 2,5 后,程序输出3,4,5,6

python 复制代码
a=input("输入列表元素:")
item=a.split(" ")
l=[eval(x) for x in item]
print(l)
x=int(input("start:"))
y=int(input("end:"))
print(l[x:y:])


输入列表元素:1 2 3 4 5 6
[1, 2, 3, 4, 5, 6]

start:2

end:5
[3, 4, 5]

6、单词长度(crr23)

输入一句英文句子,例如:the scenery along the should be and the mood at the view,输出其中最长的单词及长度。

python 复制代码
sentence=input("请输入一句英文:")
word=sentence.split() # 把句子分成单词
length=[len(x) for x in word] # 每个单词的长度
lens=max(length)
print("字母{}及其长度{}".format(word[length.index(lens)],lens)) # 最长字母第一次出现的位置,通过下标找到该字母

the scenery along the should be and the mood at the view
['the', 'scenery', 'along', 'the', 'should', 'be', 'and', 'the', 'mood', 'at', 'the', 'view']
[3, 7, 5, 3, 6, 2, 3, 3, 4, 2, 3, 4]
字母scenery及其长度7

7、输入两个分别包含 2 个整数的列表,分别表示城市中两个地点的坐标,输出两个点之间的曼哈顿距离。

曼哈顿距离是指在城市中两个地点的坐标上,通过计算水平和垂直方向上的距离之和得出的距离。对于给定的两个点p1 = (x1, y1) 和 p2 = (x2, y2),曼哈顿距离可以通过计算|x1 - x2| + |y1 - y2|来得到。在编程中,可以输入两个包含2个整数的列表,分别表示两个地点的坐标,然后使用这个公式计算出曼哈顿距离

python 复制代码
point1 = eval(input("请输入point1的坐标列表:"))
point2 = eval(input("请输入point2的坐标列表:"))
distance = map(lambda x, y: abs(x - y), point1, point2)
manhattan_distance = sum(distance)
print("两个点间的曼哈顿距离:", manhattan_distance)


请输入point1的坐标列表:[1,2]

请输入point2的坐标列表:[3,4]
两个点间的曼哈顿距离: 4

8、高考录取率(列表与元组 crr39)

根据十年高考录取率表创建列表,并完成如下操作:

① 计算十年平均录取率。

② 找出录取率最高的年份。

python 复制代码
year=[(2006,57),(2007,56),(2008,57),(2009,62),(2010,67),(2011,72),(2012,75),(2013,76),(2014,74.3),(2015,74)]

rate=[x[1] for x in year]
avg=sum(rate)/len(rate)
print("平均录取率{}".format(avg))
max_avg=max(rate)
max_year=year[rate.index(max_avg)]
print("录取最高年份{}".format(max_year[0]))

9、列表二分查找(crr65)

二分查找是一个经典的算法,用来在有序的一组数中快速找到待查找的数。所谓"二分",

就是每次操作都将查找范围一分为二,即将查找区间缩小一半,直到找到或查询了所有区间

都没有找到要查找的数据为止。利用二分查找法,查找[34, 64, 67, 72, 73, 82, 83, 85, 87, 88, 90,

91, 96, 98]中指定数字的索引号

python 复制代码
l=[34,64,67,72,73,82,83,85,87,88,90,91,96,98]
x=int(input("请输入待查找的数:"))
low=0
high=len(l)-1

while low<=high:
    mid=(low+high)//2
    if l[mid]<x:
        low=mid+1
    elif l[mid]>x:
        high=mid-1
    else:
        print("THE NUMBER {} IS FOUND,AND THE INDEX IS {}".format(x,mid))
        break;
else:
    print("THERE IS NO{} IN THE LIST".format(x))

10、编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表。

要求:利用列表、内置函数 enumerate()、filer()来实现。

python 复制代码
maxNumber=int(input("请输入一个大于2的自然数:"))
lst=list(range(2,maxNumber))
#最大整数的乎方板
m=int(maxNumber**0.5)
for index,value in enumerate(lst):
    #如果当前数字已大于最大整数的乎方根,结束判断
    if value > m:
        break
    lst[index+1:]=filter(lambda x:x%value !=0,list[index+1:])
print(lst)
相关推荐
张张123y2 小时前
后端第十四课:Agent 记忆系统(让 Agent 记住上下文和用户,跨会话不健忘)
java·大数据·人工智能·python·agent·记忆
happylifetree7 小时前
Python67:核心语法-函数进阶-参数类型(函数作为参数)
python
小羊没烦恼!7 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc8 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
镜子AI8 小时前
镜子AI工程实践:用 Python 做 GEO 实体一致性审计,并自动生成 JSON-LD 结构化数据
人工智能·python·json
昂好的day9 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
Zucker n11 小时前
英语“论文”语法检查工具
linux·windows
Wang's Blog12 小时前
Java 项目实战: 交友项目 - 黑名单:取消黑名单
java·windows·交友
波力海苔夹心脆67512 小时前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
2601_9628857212 小时前
如何用 Python 计算 VaR 和 CVaR(在险价值)?
开发语言·python