簡體   English   中英

列表理解python中的逗號分隔項

[英]comma separated item in list comprehension python

我有以下代碼:

 read_files = glob.glob("*.log")

 with open("result.txt", "wb") as outfile:
    for f in read_files:
      with open(f, "rb") as infile:
         outfile.write(infile.read())       

 with open("result.txt", encoding="utf8") as f:
    b = f.readlines()   

 c=[re.findall('\d+ \d+ \d+ \d+ \d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}',i) for i in b]
 c=[i  for i in c if i!=[]]

現在,如果我嘗試執行以下操作,

 [i[0].split(' ')[0],i[0].split(' ')[1],i[0].split(' ')[4] for i in c]

我收到以下錯誤消息:

 SyntaxError: invalid syntax

有人可以幫忙嗎

您需要添加括號才能創建元組列表:

[(i[0].split(' ')[0],i[0].split(' ')[1],i[0].split(' ')[4]) for i in c]

但是,您仍然不必為每個i多次執行相同的拆分操作。 為了獲得更好的性能和可讀性,您可以執行以下操作:

[(x[0], x[1], x[4]) for x in (i[0].split(' ') for i in c)]

嘗試用括號將參數括起來:

 [ (i[0].split(' ')[0],i[0].split(' ')[1],i[0].split(' ')[4]) for i in c]

因此它列出了元組。

您能提供更多細節嗎? 像打印出來的變量c

暫無
暫無

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

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