第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用空格分隔符將字符串拆分為字典

使用空格分隔符將字符串拆分為字典

神不在的星期二 2023-05-16 15:53:53
我有一個(gè)像這樣的 Python 字符串query = 'name:Thoong company:"Big Company, LLC" age:25'我想把它轉(zhuǎn)換成一個(gè)字典,鍵和值由':'分割{    'name': 'Thoong',    'age': 25,    'company': 'Big Company, LLC',}我試圖分開' '然后':'。但似乎query.split(' ')不起作用,因?yàn)槲覀冇?#39; ' "Big Company, LLC"有什么辦法可以存檔這個(gè),可以使用正則表達(dá)式嗎?
查看完整描述

4 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

使用shlex

import?shlexdict(i.split(":")
?for?i?in?shlex.split(query))

輸出:

{'age':?'25',?'company':?'Big?Company,?LLC',?'name':?'Thoong'}


查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

使用正則表達(dá)式并插入到字典中:


import re


regex_1 = r"(\w+:\w+)"

regex_2 = r"(\w+:\"\w+\s\w+,\s\w+\")"

query = 'name:Thoong company:"Big Company, LLC" age:25'

r_1 = re.findall(regex_1, query)

r_2 = re.search(regex_2, query).group(1)

d = {*r_1,

     r_2}


print(d)

返回:


{'name:Thoong', 'age:25', 'company:"Big Company, LLC"'}


查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

這個(gè)怎么樣?這看起來并不優(yōu)雅,但您可以輕松理解這段代碼的作用。


query = 'name:Thoong company:"Big Company, LLC" age:25'

tmp = query.split(":")

keys = []

values = []


# extract keys

for t in tmp:

    _t = t.split(" ")

    if len(_t) == 1:

        keys.append(_t[0])

    else:

        values.append(" ".join(_t[:-1]))

        keys.append(t.split(" ")[-1])


values.append(keys[-1])

del keys[-1]

result = {k: v for k, v in zip(keys, values)}

print(result)


查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

拆分空格 (  ) 和其他符號(hào)可能不起作用,因?yàn)槊Q可能包含任意數(shù)量的字符。


如果查詢總是由這三個(gè)元素組成,您可以嘗試在關(guān)鍵字處拆分:


d = {'name': query.split('name:')[1].split(' company:')[0],

     'company': query.split('company:')[1].split(' age:')[0],

     'age': query.split('age:')[1]}

但是,如果查詢格式錯(cuò)誤,這將不起作用。在那里,您可能必須嘗試解析它并轉(zhuǎn)義出現(xiàn)在引號(hào)內(nèi)的空格和冒號(hào)。


查看完整回答
反對(duì) 回復(fù) 2023-05-16
  • 4 回答
  • 0 關(guān)注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)