如何删除字典中的部分字符串?

时间:2018-04-01 19:25:57

标签: python

我目前正在为我的机器人团队制作一个系统,我有一个问题,那就是打印团队编号而不是打印团队编号。我能够通过[3:]只列出所有球队的名单,但是当我为比赛做到这一点时,它只是移除了一支球队。我认为我与匹配数字是字典的事实有关。我想知道是否有办法删除字典中的frc?谢谢!这是我的代码:

for match in eventMatches:
    matchNumber = {}
    matchNumber['blue'] = match.alliances.get('blue').get('team_keys')
    eventmatchList.append(matchNumber)
for key in matchNumber.keys():
    worksheet.write_row(row, col, matchNumber[key])
row += 1
row = 1
col = 4
for match in eventMatches:
    matchNumber = {}
    matchNumber['red'] = match.alliances.get('red').get('team_keys')
    eventmatchList.append(sorted(matchNumber))
for key in matchNumber.keys():
    worksheet.write_row(row, col, matchNumber[key])
row += 1

2 个答案:

答案 0 :(得分:1)

在dict值中更改字符串的一个小例子,希望它是你想要的......

d = {'key1' : 'frc1', 'key2' : 'frc2', 'key3' : 'frc3'}

for key in d.keys():
  d[key] = d[key].replace('frc', '')

for k, v in d.items():
  print(k, v)

答案 1 :(得分:0)

您也可以使用正则表达式。使用正则表达式将替换所有字母表并仅打印数字。请参阅下面的示例代码。

 >>import re
 >>re.sub("[^0-9]","","frc123")
 '123'

re.sub(Pattern,Replace string,String to search)

“[^ 0-9] +” - 查找不是0-9的任何字符组。 “” - 用“”替换匹配的字符。

在字典中使用这个概念。见下面的例子。

>>import re
>>d = {'key1' : 'frc123', 'key2' : 'frc234', 'key3' : 'frc345'}
>>for i in d:
      d[i] = re.sub("[^0-9]","",d[i])
>>print(d)

 {'key1': '123', 'key2': '234', 'key3': '345'}