第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將列表中特定項目的連續(xù)重復項打包到列表列表中

將列表中特定項目的連續(xù)重復項打包到列表列表中

aluckdog 2023-02-22 17:12:51
我想讀取一個列表,然后從該列表中選擇連續(xù)的特定項目以將它們存儲在 New_list 中。繼續(xù)閱讀列表,然后再次從該列表中選擇該特定項目并將它們作為另一個列表存儲在該 New_list 中。讓我們舉個例子:nw_lst = []    lst = [1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1]    for i in range(0, len(lst), 1):        if lst[i] == 0:        nw_lst.append(lst[i])print nw_lst我得到的輸出是:[0, 0, 0, 0, 0, 0, 0]我想得到:[[0, 0, 0], [0, 0], [0, 0]]
查看完整描述

3 回答

?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

您可以使用itertools.groupby


import itertools as it


result = [list(g) for k, g in it.groupby(lst) if k == 0]


查看完整回答
反對 回復 2023-02-22
?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

只要您只對連續(xù)的零感興趣,這里就有一個解決方案。這個想法是利用split字符串的方法。您只需將列表轉換為字符串,將其拆分為 1,然后返回列表。


lst = [1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1]

lst_str = "".join([str(x) for x in lst])

lst_str_zeros = lst_str.split("1")

new_lst = [[int(y) for y in x] for x in lst_zeros if x!=""]


print(new_lst)

[[0, 0, 0], [0, 0], [0, 0]]


查看完整回答
反對 回復 2023-02-22
?
夢里花落0921

TA貢獻1772條經(jīng)驗 獲得超6個贊

使用變量檢查每次迭代中flag的狀態(tài)。list


nw_lst = []

tmp = []

flag = 0 

lst = [1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1] 

for i in lst:

    if i == 0:

        if flag == 0:

            tmp.append(i)

            flag = 1

        else:

            tmp.append(i)

    else :

        flag = 0

    if flag == 0 and len(tmp):

        nw_lst.append(tmp)

        tmp = []


查看完整回答
反對 回復 2023-02-22
  • 3 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號