如果字串的長度大于 5,我正在嘗試從該字串串列中洗掉任何字串。我不知道為什么它只洗掉似乎是隨機字串的內容。請幫忙。代碼的子串列部分的專案只是將串列串列更改為普通的字串串列。
list2 = [['name'],['number'],['continue'],['stop'],['signify'],['tester'],['racer'],['stopping']]
li = [item for sublist in list2 for item in sublist]
var=0
for words in li:
if len(li[var])>5:
li.pop()
var =1
print(li)
輸出是: ['name', 'number', 'continue', 'stop', 'signify']
uj5u.com熱心網友回復:
展平串列時只需包括檢查:
list2 = [['name'],['number'],['continue'],['stop'],['signify'],['tester'],['racer'],['stopping']]
li = [item for sublist in list2 for item in sublist if len(item) <= 5]
['name', 'stop', 'racer']
uj5u.com熱心網友回復:
您可以使用串列推導來構建一個新串列,其中僅包含 5 個或更少長度的專案。
>>> l = ['123456', '123', '12345', '1', '1234567', '12', '1234567']
>>> l = [x for x in l if len(x) <= 5]
>>> l
['123', '12345', '1', '12']
uj5u.com熱心網友回復:
list(filter(lambda x: len(x[0]) <= 5, list2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/410757.html
標籤:
下一篇:字串到十六進制而不更改數字,C
