如何将除最小和最大值之外的所有元组值归零

问题描述 投票:0回答:1

我正在尝试查找某个元组的最小值和最大值,并将所有其他值初始化为零

说我有一个元组p =(1,2,3)然后p_new将是:(1,0,3)

我正在尝试以简单而优雅的方式来完成此操作,但没有成功

到目前为止,这是实现:

p = (1,2,3)

# finding the min/max indexes:
mx = p.index(max(p))
mn = p.index(min(p))

p_new = []
for i in range(len(p)):
    if i == mx:
        p_new.append(p[mx])
    elif i == mn:
        p_new.append(p[mn])
    else:
        p_new.append(0)
print('p_new is:',tuple(p_new))enter code here

代码输出:

p_new is: (1, 0, 3)

Process finished with exit code 0
python tuples max min
1个回答
1
投票
p = (1,2,3)
p = tuple([ i if i in [min(p), max(p)] else 0 for i in p ])

print('p_new is:',tuple(p_new))
© www.soinside.com 2019 - 2024. All rights reserved.