如果输入具有相似的值,我如何 return 得到不止一个结果
How do i return more than one result from this if the input have similar value
例如:在这种情况下,需要最昂贵的物品。
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
material = ''
price = None
for x,y in d:
if price is None:
price= y
material= x
while y > price:
price = y
material= x
return material,price
您可以先找到最高价格,然后找到具有该价格的 return 对。
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
return [pair for pair in d if pair[1]==max([item[1] for item in d])]
输出
[('Shirts', 40000), ('trousers', 40000)]
您需要先找到最高价格,然后过滤具有最高价格的值。
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
if not d:
return None
max_v = max(d, key=lambda x:x[1])[-1]
return list(filter(lambda x: x[1]==max_v, d))
print(pick_the_most_expensive_from_my_list(d))
输出
[('Shirts', 40000), ('trousers', 40000)]
或使用字典
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
if not d:
return None
price = {}
for i in d:
if i[1] not in price:
price[i[1]] = [i]
else:
price[i[1]].append(i)
return price.get(max(price))
print(list(pick_the_most_expensive_from_my_list(d)))
def mostExpensiveItems():
items = ['']
prices = [0]
for currentItems, currentPrices in items:
if currentPrices > prices[-1]:
items.append(currentItems)
prices.append(currentPrices)
elif currentPrices == prices[-1]:
items.append(currentItems)
prices.append(currentPrices)
print(items)
print(prices)
例如:在这种情况下,需要最昂贵的物品。
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
material = ''
price = None
for x,y in d:
if price is None:
price= y
material= x
while y > price:
price = y
material= x
return material,price
您可以先找到最高价格,然后找到具有该价格的 return 对。
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
return [pair for pair in d if pair[1]==max([item[1] for item in d])]
输出
[('Shirts', 40000), ('trousers', 40000)]
您需要先找到最高价格,然后过滤具有最高价格的值。
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
if not d:
return None
max_v = max(d, key=lambda x:x[1])[-1]
return list(filter(lambda x: x[1]==max_v, d))
print(pick_the_most_expensive_from_my_list(d))
输出
[('Shirts', 40000), ('trousers', 40000)]
或使用字典
d= (('Shirts',40000),('trousers',40000),('provisions',34000),('others',34000))
def pick_the_most_expensive_from_my_list(d):
if not d:
return None
price = {}
for i in d:
if i[1] not in price:
price[i[1]] = [i]
else:
price[i[1]].append(i)
return price.get(max(price))
print(list(pick_the_most_expensive_from_my_list(d)))
def mostExpensiveItems():
items = ['']
prices = [0]
for currentItems, currentPrices in items:
if currentPrices > prices[-1]:
items.append(currentItems)
prices.append(currentPrices)
elif currentPrices == prices[-1]:
items.append(currentItems)
prices.append(currentPrices)
print(items)
print(prices)