![](/img/trans.png)
[英]How to remove element from list if element is present in list Python
[英]How to remove list element from list of list in python
我試圖從python中的列表列表中刪除第三個和第四個列表。
我的清單如下:
List = [
['101', 'Dashboard', '1', '1'],
['102', 'Potential Cstomer', '1', '1'],
['102-01', 'Potential Cstomer', '1', '1'],
['102-02', 'Potential Cstomer Activity', '1', '1']
]
刪除列表的第三和第四個元素后,我想這樣:
NewList = [
['101', 'Dashboard'],
['102', 'Potential Cstomer'],
['102-01', 'Potential Cstomer'],
['102-02', 'Potential Customer Activity']
]
我嘗試了下面的代碼,但沒有做任何改動。
NewList = [list(element) for element in List if element[0] or element[1]]
print NewList
我應該如何更改當前代碼以達到預期結果? 謝謝。
在列表 推導中切片每個嵌套列表。 切片表示法從索引0開始,並在1處停止,即[0, 2)
:
NewList = [element[:2] for element in List]
如果未指定開始索引,它將被視為None
這是相同的列表的起始索引時None
前的第一次出現:
。
如同:
NewList = [element[slice(None, 2)] for element in List] # More verbose
在Python 3中,您可以使用擴展解包來實現應用'splat'運算符*
:
NewList = [elements for *elements, _, _ in List]
這個怎么樣:
for s in List:
del s[3]
del s[2]
刪除到位。
此解決方案使用負索引來允許任意長度子列表,同時保持兩個尾隨數字的原始條件。
List = [
['101', 'Dashboard', '1', '1'],
['102', 'Potential Cstomer', '1', '1'],
['102-01', 'Potential Cstomer', '1', '1'],
['102-02', 'Potential Cstomer Activity', '1', '1']
]
new_final_list = [i[:-2] for i in List]
for i in new_final_list:
print(i)
輸出:
['101', 'Dashboard'],
['102', 'Potential Cstomer']
['102-01', 'Potential Cstomer']
['102-02', 'Potential Cstomer Activity']
Names = [["Tom", 32, 12], ["John", 54, 16], ["James", 52, 15]]
Names_new = []
for i in Names:
# print(i + )
del i[0]
Names_new.append(i)
print(Names_new)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.