[英]How to convert a list into a string and then convert it back in python?
我想通過UDP / TCP發送列表,但是由於它們僅支持字符串列表,因此我需要將列表轉換為字符串並將其轉換回。
我的清單就像
['S1','S2','H1','C1','D8']
我知道我可以用
string_ = ''.join(list_)
將其轉換為字符串。
但是如何將其轉換回去呢?
還是我可以使用UDP / TCP發送列表的另一種方法?
自定義格式取決於有關列表項格式的假設,因此json看起來是最安全的方法:
>>> import json
>>> data = json.dumps(['S1','S2','H1','C1','D8'])
>>> data
'["S1", "S2", "H1", "C1", "D8"]'
>>> json.loads(data)
[u'S1', u'S2', u'H1', u'C1', u'D8']
使用分隔符:
string_ = ';'.join(list_)
list_ = string_.split(';')
您需要確保分隔符不能在字符串中。 如果是這樣,則可能需要編碼。
也許您可以在列表元素之間添加分隔符,並使用它調用split
來獲取列表。
編輯:
正如@Eric Fortin在回答中提到的那樣,分隔符應該是您的字符串中不能包含的內容。 正如他建議的那樣,一種可能性是使用編碼。 另一個可能性是一個元素一個元素地發送,但這顯然會增加通信開銷。
請注意,分隔符可以是一個序列,而不必是單個字符。
str_list = separator.join(list_)
new_list = str_list.split(separator)
如果您知道列表元素的格式,甚至可以不使用分隔符!
str_list = "".join(list_)
re.split(reg_exp, str_list)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.