Python 如何将字符串拆分为多个部分以在循环中填充dict
我有一个需要从中提取信息的文件列表,我想用它填充一个dict。我知道如何用正则表达式提取信息,但dict部分让我感到困惑 代码 预期结果 mydict={'anna01':1,'bobby03':3,'dean120':120} 我在实际问题中使用的正则表达式是:Python 如何将字符串拆分为多个部分以在循环中填充dict,python,dictionary,Python,Dictionary,我有一个需要从中提取信息的文件列表,我想用它填充一个dict。我知道如何用正则表达式提取信息,但dict部分让我感到困惑 代码 预期结果 mydict={'anna01':1,'bobby03':3,'dean120':120} 我在实际问题中使用的正则表达式是: for file in os.listdir(path): if file.endswith('.bmp'): image_name = file files.append(os.path.jo
for file in os.listdir(path):
if file.endswith('.bmp'):
image_name = file
files.append(os.path.join(path, file))
print(os.path.join(path, file))
print(get_burst_from_name(file))
print(image_name)
pattern = '_\d*%'
result = re.findall(pattern, file)[0]
result = result.replace("_","")
duty = result.replace("%","")
print('duty=', duty)
dict的键是“file”,值是“duty”我想这段代码可能会帮助您:
import re
mylist = ['anna01','bobby03','dean120']
myDict = {}
pattern = '(?P<Name>[^\d]+)(?P<Number>\d+)'
for index,value in enumerate(mylist):
searchedRegex = re.search(pattern , value)
if searchedRegex:
number = searchedRegex.group("Number")
myDict[value] = int(number)
print(myDict)
正如你所说的那样
如果你只想让他们的名字没有数字,那么你可以使用我在正则表达式中准备的groupName。我想这段代码可能会帮助你:
import re
mylist = ['anna01','bobby03','dean120']
myDict = {}
pattern = '(?P<Name>[^\d]+)(?P<Number>\d+)'
for index,value in enumerate(mylist):
searchedRegex = re.search(pattern , value)
if searchedRegex:
number = searchedRegex.group("Number")
myDict[value] = int(number)
print(myDict)
正如你所说的那样
如果你只想让他们的名字没有数字,那么你可以使用我在正则表达式中准备的groupName。我想你会得到你想要的输出
import re
mylist = ['anna01','bobby03','dean120']
mydict = {}
for i in mylist:
key = str(re.findall("\D+", i)[0])
val = int(re.findall("\d+", i)[0])
mydict[key] = val
print("mydict = {}".format(mydict))
输出
mydict = {'anna': 1, 'bobby': 3, 'dean': 120}
我想你会得到你想要的结果
import re
mylist = ['anna01','bobby03','dean120']
mydict = {}
for i in mylist:
key = str(re.findall("\D+", i)[0])
val = int(re.findall("\d+", i)[0])
mydict[key] = val
print("mydict = {}".format(mydict))
输出
mydict = {'anna': 1, 'bobby': 3, 'dean': 120}
结果
结果
你试过什么吗?你能给我们看一下吗?你能把它编辑成问题吗?这是一个比问题更复杂的字符串,但它是有效的,在这种情况下,职责是'value','file'是键。@Windy71正如你所说,你知道如何从字符串中提取数字,这段代码应该有效:my_dict={x:_get_numx for x in myList}_get_num是您提取数字的代码/您尝试过什么吗?你能给我们看一下吗?你能把它编辑成问题吗?这是一个比问题更复杂的字符串,但它是有效的,在这种情况下,职责是'value','file'是键。@Windy71正如你所说,你知道如何从字符串中提取数字,这段代码应该有效:my_dict={x:_get_numx for x in myList}_get_num是您提取数字的代码/Thank you Kitto,是mydict[key]=val行出于某种原因我无法将Bashs face放入桌面谢谢Kitto,是mydict[key]=val行出于某种原因我无法将Bashs face放入桌面
{'dean': 120, 'anna': 1, 'bobby': 3}