首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Python 列表/文本轉字典:按逗號分割構建鍵值對

     編輯:程式設計綜合問答

需求

文本每行格式 key,value,讀取構建 dict。

標準做法

dic = {}
with open('1.txt', 'r', encoding='utf-8') as f:
    for line in f:
        line = line.strip()
        if not line: continue
        parts = line.split(',', 1)  # 只分割第一個逗號,值中可含逗號
        if len(parts) == 2:
            dic[parts[0]] = parts[1]
print(dic)

關鍵點

  • encoding='utf-8' 解決中文讀取亂碼(上一問遺留問題)。
  • split(',', 1) 限制分割次數,保留值中的逗號。
  • strip() 去除換行符/首尾空格。
  • 異常行(無逗號、多逗號)按業務決定跳過或報錯。

一行式(Python 3.8+)

dic = dict(line.strip().split(',', 1) for line in open('1.txt', encoding='utf-8') if line.strip() and ',' in line)

避坑

  • 原代碼 coslist1.append(lines0) 將整行含換行符字符串加入列表,dict(list) 要求列表元素為可迭代的雙元素序列,直接報錯。
  • **先解析每行為 (key, value) 元組,再構建字典**,而非將原始行列表強行轉字典。

文本處理核心:**逐行讀 → 清洗 → 分割 → 入字典**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved