簡體   English   中英

Python:從列表中為for循環中的每個索引進行索引切片

[英]Python: Index slicing from a list for each index in for loop

我陷入了從 for 循環中的數據列表中進行切片的過程。

list = ['[init.svc.logd]: [running]', '[init.svc.logd-reinit]: [stopped]']

我正在尋找的是只打印沒有它值的鍵(運行/停止)

整體代碼,

for each in list:
    print(each[:]) #not really sure what may work here

預期結果:

init.svc.logd

任何人的快速解決方案?

如果您只想打印密鑰,您可以使用split函數獲取之前的任何內容:如果您不想要它們,然后將[]替換為空:

list = ['[init.svc.logd]: [running]', '[init.svc.logd-reinit]: [stopped]']

for each in list:
    print(each.split(":")[0].replace('[','').replace(']','')) #not really sure what may work here

這使 :

init.svc.logd
init.svc.logd-reinit

您可能應該使用正則表達式。 問題中“鍵”的概念是模棱兩可的,因為沒有顯示具有鍵的數據結構——它只是一個字符串列表。 所以...

import re

list_ = ['[init.svc.logd]: [running]', '[init.svc.logd-reinit]: [stopped]']

for e in list_:
    if r := re.findall('\[(.*?)\]', e):
        print(r[0])

輸出:

init.svc.logd
init.svc.logd-reinit

筆記:

對於數據意外格式錯誤的情況,這比字符串拆分解決方案更強大

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM