0
我所創造的元素列表:在Python中,我如何搜索一個值的元素列表,然後也取其前面的元素?
if x > 2:
pricePerUnit.append(name)
pricePerUnit.append(price/quantity)
bestValue = list.count(min(pricePerUnit))
我怎麼能取每個值在同一時間前面,我坐值的元素?
我所創造的元素列表:在Python中,我如何搜索一個值的元素列表,然後也取其前面的元素?
if x > 2:
pricePerUnit.append(name)
pricePerUnit.append(price/quantity)
bestValue = list.count(min(pricePerUnit))
我怎麼能取每個值在同一時間前面,我坐值的元素?
辦將組織你的pricePerUnit
列表不同,存儲這兩個值加在一起作爲一個元組的最好的事情:
if x > 2:
pricePerUnit.append((name, price/quantity))
這樣,當您找到最佳值項,您還可以找到的名字。要找到列表中的最小值,您現在需要提供一個key
參數給min
。這key
功能應提取值進行比較,以找出最小,在這種情況下是在元組中的第一個項目(name
是在元組中的第0項):
bestValueName, bestValue = min(pricePerUnit, key=lambda ppu: ppu[1])
要找到所有的項目是有最好的價值,你應該找到最佳值,然後找到具有該值的所有項目:
_, bestValue = min(pricePerUnit, key=lambda ppu: ppu[1])
bestValueItems = filter(lambda ppu: ppu[1] == bestValue, pricePerUnit)
追加功能只需要一個arguement雖然 – user2368334 2013-05-10 02:28:41
注意對額外追加調用中括號的。這使得一個元組。如果它被分解成兩個語句,如下所示:nameValueTuple =(name,price/quantity); pricePerUnit.append(nameValueTuple)'。 python文檔有更多關於元組的信息:http://docs.python.org/release/1.5.1p1/tut/tuples.html – 2013-05-10 02:52:41
是否有一種方法可以在存在多個相同值的情況下進行工作? – user2368334 2013-05-10 03:16:38