簡體   English   中英

Python 集合字符串表示

[英]Python collection string representation

我正在從下面的字符串中尋求一些幫助

{id=1, st=20.0, al=3, ct=20.4, s=0}

到 Python 中的集合。 有簡單的方法嗎?

由於您沒有指定集合中可以包含什么,我假設字符串鍵(不帶空格)和浮點數。

假設字符串在mystring中:

result = {l.split("=")[0] : float(l.split("=")[1]) for l in mystring.replace(" ", "")[1:-1].split(",")}

走道:

  • 擺脫所有空格: mystring.replace(" ", "")
  • 擺脫花括號: mystring.replace(" ", "")[1:-1]
  • 在昏迷處拆分: mystring.replace(" ", "")[1:-1].split(",")
    現在我們有一個列表: ['id=1', 'st=20.0', 'al=3', 'ct=20.4', 's=0']
    每個元素都是一個 kv 對,所以我添加了一個dict comprehension
  • 對於每個列表元素l ,我們在 '=' -> l.split("=")處拆分。
  • 第一部分將按原樣作為密鑰: l.split("=")[0]
  • 將第二部分解析為浮點數: float(l.split("=")[1])
    把它們放在一起,你就得到了我的單線。

我做了兩次拆分,這可以通過一些重構來刪除。

暫無
暫無

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

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