0
list = [「car」,「bus」,「car」,「truck」,「van」,「bus」,「truck」]如何在列表中打印兩個相同項目的索引值?
說我想讓所有的「汽車」到「自行車」。我知道如何通過索引等方式爲第一輛「汽車」做到這一點。但是,我會如何將所有「汽車」同時更換爲自行車?我想知道如何計算「car」的所有實例,然後索引多次「car」在列表中,但如果我通常這樣做,那麼只返回第一個實例?
list = [「car」,「bus」,「car」,「truck」,「van」,「bus」,「truck」]如何在列表中打印兩個相同項目的索引值?
說我想讓所有的「汽車」到「自行車」。我知道如何通過索引等方式爲第一輛「汽車」做到這一點。但是,我會如何將所有「汽車」同時更換爲自行車?我想知道如何計算「car」的所有實例,然後索引多次「car」在列表中,但如果我通常這樣做,那麼只返回第一個實例?
my_list = ["car", "bus", "car", "truck", "van", "bus", "truck"]
my_list[:] = ["bikes" if ele == "car" else ele for ele in my_list]
my_list
['bikes', 'bus', 'bikes', 'truck', 'van', 'bus', 'truck']
要獲得索引使用enumerate
:
indexes = [ind for ind,ele in enumerate(my_list) if ele =="car"]
和車數將索引列表的長度:
car_count = len(indexes)
什麼是使用'my_list的優勢[:] = ...'over my_list = ...'? – 2014-09-25 19:12:10
@RogerFan,'my_list'仍然指向與使用'my_list ='創建新對象相同的對象 – 2014-09-25 19:13:19
但是列表理解正在創建新對象。爲什麼要採取額外的步驟試圖將它放到最初的'my_list'對象中?只需將標籤移至新列表即可。我想這可能很重要,如果有一個本地/全局變量的事情發生? – 2014-09-25 19:15:16