[英]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.