나는 다음과 같은 키를 사전 있다고 가정 :사전에서 특정 문자를 파이썬으로 제거하는 방법은 무엇입니까?
{A1:2345, A2:23, A3:1}
난 그냥
{A1:45, A2:23, A3:1}
기반 이후
나는 다음과 같은 키를 사전 있다고 가정 :사전에서 특정 문자를 파이썬으로 제거하는 방법은 무엇입니까?
{A1:2345, A2:23, A3:1}
난 그냥
{A1:45, A2:23, A3:1}
기반 이후
를 조언을 주시기 바랍니다 A1에서 '23'을 제거 할과 수 출력을 예상 값 귀하의 의견에 23
한 번만 발생합니다, 당신은 문자열에 re.sub
전화하고 사전에 다시 쓸 수 있습니다. 사전이 dic
라는한다면 :
import re
dic['A1'] = re.sub('23','',dic['A1'],1)
,1
는 선택 사항이며 말한다 당신은 첫 번째 발생을 대체 할 (하지만 효율성에게 작은 조금을 향상시킬 수 있습니다).
$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> dic={'A1':'2345', 'A2':'23', 'A3':'1'}
>>> import re
>>> dic['A1'] = re.sub('23','',dic['A1'],1)
>>> dic
{'A2': '23', 'A3': '1', 'A1': '45'}
편집 : 예를 들어 귀하의 코멘트에
을 기반으로, 당신은 'A9'
를 제외한 모든 요소의 값에서 2
들과 3
들 제거 할. 넌 for
루프이를 수
import re
for key,val in dic.items():
if key != 'A9':
dic[key] = re.sub('2|3','',val)
에 "또는"로서 기능 정규식에 파이프 (|
). 그래서 :
$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> dic={'A1':'5', 'A2':'1', 'A3': '2379', 'A4':'8', 'A5':'37', 'A6':'379', 'A7':'6', 'A8':'4', 'A9':'23'}
>>> import re
>>>
>>> for key,val in dic.items():
... if key != 'A9':
... dic[key] = re.sub('2|3','',val)
...
>>> dic
{'A3': '79', 'A2': '1', 'A4': '8', 'A6': '79', 'A1': '5', 'A8': '4', 'A5': '7', 'A9': '23', 'A7': '6'}
{A1 : 5, A2 : 1, A3 : 2379, A4 : 8, A5 : 37, A6 : 379, A7 : 6, A8 : 4, A9 : 23}과 같은 사전 전체를 반복 할 수있는 방법이 있습니까? 출력이 {A1 : 5, A2 : 1, A3 : 79, A4 : 8, A5 : 7, A6 : 79, A7 : 6, A8 : 4, A9 : 23} –
과 같을 것 @KinshukSrivastava : 당신의 예제에서'A9'는 변경되지 않았습니다 ... 실수입니까? –
Wilem은 실수가 아닙니다. 나는 A9가 23이라는 것을 알고 있고 A9를 떠나기 전 사전에서 2와 3의 모든 사건을 제거하고 싶다. –
난 그냥 A1에서 '23'을 제거 할가 .... 그 당신의 간단한 경우에 두 번
발생하지 않습니다 (23) 일어나지 않을 것입니다, 그것은 충분하다
d = {'A1':2345, 'A2':23,'A3':1}
d['A1'] = int(repr(d['A1'])[2:]) # getting slice of characters starting from index 2
print(d)
출력 :
,321repr()
함수를 사용 모든 값이 문자열 인 경우 0
, 그것은 훨씬 더 온다 간단 :
d['A1'] = d['A1'][2:]
나는 색인을 고정 싶지 않아요. {A1 : 5, A2 : 1, A3 : 2379, A4 : 8, A5 : 37, A6 : 379, A7 : 6, A8 : 4, A9 : 23}과 같은 사전 전체를 반복 할 수있는 방법이 있습니까? 출력이 {A1 : 5, A2 : 1, A3 : 79, A4 : 8, A5 : 7, A6 : 79, A7 : 6, A8 : 4, A9 : 23} –
@RomanPerekhrest : 그것들이 문자열이라고 말하는 주석은 ... –
@WillemVanOnsem, 내 대답'd [ 'A1'] = d [ 'A1'] [2 :]' – RomanPerekhrest
요소의 유형은 무엇입니까? 문자열? –
더 나아가 '23'이 두 번 나올 때 어떻게 될 것인가? 예를 들어 ''23452345 ''... –
예 문자열 인 –