所以說我有一個2D的串列,比如:
[
[
"9743"。
"user3"。
],
[
"435"。
"user2", "user2".
],
[
"5426"。
"user8".
],
[
""。
"">
],
[
"9743"。
"user9".
]
]
其中,該空字串串列的索引是未知的。是否有一個簡單的方法來切分這個串列,以便洗掉該串列之后和包括空字串的所有內容,只保留其之前的內容?
uj5u.com熱心網友回復:
如果你確定你有['',''],可以這樣試試:
lst = [[ "9743"/span>, "user3"],[ "435","user2"] 。 ["5426","user8"],["。 ""],["9743","user9"]]
lst[:lst.index(['',''])]
# Output
# [['9743', 'user3'], ['435', 'user2'], ['5426', 'user8']]
如果你不確定你有['',''],可以這樣試試:
lst = [[ "9743"/span>, "user3"/span>], [ "435"/span>, "user2"], ["5426","user8"], ["9743","user9"] ]
try:
out = lst[:lst.index(['','']) ] ]
except ValueError:
out = lst
輸出:
[['9743', 'user3'], ['435', 'user2'], ['5426', 'user8'], ['9743', 'user9'] ]
uj5u.com熱心網友回復:
你可以使用itertools.takewhile:
from itertools import takewhile
list(takewhile(lambda x: x != [''/span>, ''/span>], the_list)
NB。
輸出: 如果你想停止在任何專案是 uj5u.com熱心網友回復: 你可以像這樣失去一個for-loop。(x是你的串列)[['9743', 'user3'], ['435', 'user2'], ['5426', 'user8'] ]
'':from itertools import takewhile
list(takewhile(lambda x: '' not in x, l)
output = []
輸出結果是:
[['9743', 'user3']。['435', 'user2'], ['5426', 'user8'] ]
uj5u.com熱心網友回復:
遍歷串列中的每個專案,當發現空值時,將串列切開,然后斷開。
for i in range(len(ld) )。)
if lst[i][0] == " and lst[i][1] == ":
lst = lst[:i]
break: lst = lst[:i].
uj5u.com熱心網友回復:
使用iter與sentinel:
list(iter(iter(lst) 。 __next__, [''/span>, ''/span>])
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/323504.html
標籤:
