day35
列表元素运算及访问
输入列表,最大的与第一个元素交换,最小的与最后一个元
素交换,输出列表。
分析
1.可以遍历列表求出最大值和最小值,以及他们的索引位置
注意,多个最大值或最小值,取第一个索引
2.可以利用max或min来直接求得最大值和最小值
编码实现
1.编码实现(循环实现)
import random as rdm
ls=[rdm.randint(0,9) for i in range(10)]
print(ls)
print(list(y for y in range(10)))
max=min=0
maxp=minp=0
for i in ls:
if i>max:
max=i
if i<min:
min=i
maxp=ls.index(max)
minp=ls.index(min)
print(f"最大元素{max},位置{maxp};最小元素{min},位置{minp}")
ls[maxp],ls[0]=ls[0],ls[maxp]
ls[minp],ls[-1]=ls[-1],ls[minp]
print(ls)
运行结果
[2, 5, 8, 5, 5, 0, 1, 0, 2, 2]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
最大元素8,位置2;最小元素0,位置5
[8, 5, 2, 5, 5, 2, 1, 0, 2, 0]
2.编码实现(利用max和min函数)
import random as rdm
ls=[rdm.randint(0,9) for i in range(10)]
print(ls)
print(list(y for y in range(10)))
mx=mn=0
maxp=minp=0
mx=max(ls)
mn=min(ls)
maxp=ls.index(mx)
minp=ls.index(mn)
print(f"最大元素{mx},位置{maxp};最小元素{mn},位置{minp}")
ls[maxp],ls[0]=ls[0],ls[maxp]
ls[minp],ls[-1]=ls[-1],ls[minp]
print(ls)
运行结果
[8, 9, 4, 4, 5, 9, 0, 2, 2, 6]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
最大元素9,位置1;最小元素0,位置6
[9, 8, 4, 4, 5, 9, 6, 2, 2, 0]