[英]How do I remove specific characters on all strings of a list in python?
[英]Loop through a list of strings and remove all items after a specific list item(i) where i can be a or b or c
在列表中搜索並刪除包含在 Audi 或 Mazda 或 Suzuki 之后的所有其他內容。 請注意,列表中只能包含3個中的一個,但不能包含兩個或全部。 只有其中之一
第一個場景: if it's Audi,
給出一個列表(列表項是隨機的):
lst = ["Nissan","Chevrolet","Audi","Mercedes","BMW","Subaru","Mitsubishi"]
預期結果:
new_lst = ["Nissan","Chevrolet"]
場景2: If it's Suzuki
。
預期結果
lst = ["Nissan","Chevrolet","Mercedes","BMW","Subaru","Suzuki","Mitsubishi"]
new_lst = ["Nissan","Chevrolet","Mercedes","BMW","Subaru"]
等等等等
您可以使用itertools.takewhile
來創建一個新列表並在適當的點“突破”
>>> from itertools import takewhile
>>> lst = ["Nissan","Chevrolet","Audi","Mercedes","BMW","Subaru","Mitsubishi"]
>>> list(takewhile(lambda x: x != "Audi", lst))
['Nissan', 'Chevrolet']
將列表切片與list.index
一起list.index
前任:
lst = ["Nissan","Chevrolet","Audi","Mercedes","BMW","Subaru","Mitsubishi"]
print(lst[:lst.index("Audi")])
lst = ["Nissan","Chevrolet","Mercedes","BMW","Subaru","Suzuki","Mitsubishi"]
print(lst[:lst.index("Suzuki")])
輸出:
['Nissan', 'Chevrolet']
['Nissan', 'Chevrolet', 'Mercedes', 'BMW', 'Subaru']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.