How to replace substring of dictionary values using Re
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am trying to loop through a dictionary and replace a substring using Re, but my dictionary just ends up with empty values. I've outlined my code below:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'.*├─BROKEN─', '', val)
This code results in an dictionary without values:
mydict = {
'Getting links from: https://www.foo.com/':
[
'',
'',
''
],
'Getting links from: https://www.bar.com/':
[
''
]
}
What I want is:
mydict = {
'Getting links from: https://www.foo.com/':
[
'http://www.broken.com/',
'http://www.set.com/',
'http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'http://www.broken.com/'
]
}
What am I missing?
python python-2.7 dictionary
add a comment |
I am trying to loop through a dictionary and replace a substring using Re, but my dictionary just ends up with empty values. I've outlined my code below:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'.*├─BROKEN─', '', val)
This code results in an dictionary without values:
mydict = {
'Getting links from: https://www.foo.com/':
[
'',
'',
''
],
'Getting links from: https://www.bar.com/':
[
''
]
}
What I want is:
mydict = {
'Getting links from: https://www.foo.com/':
[
'http://www.broken.com/',
'http://www.set.com/',
'http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'http://www.broken.com/'
]
}
What am I missing?
python python-2.7 dictionary
1
Change thisv[i] = re.sub(r'.*├─BROKEN─', '', val)
tov[i] = re.sub(r'.*├─BROKEN─', '', s)
– Daniel Mesejo
Jan 3 at 16:27
1
You replaceval
which is exactly the string to replace. That's probably a typo and you meant to uses
instead ofval
.
– a_guest
Jan 3 at 16:27
add a comment |
I am trying to loop through a dictionary and replace a substring using Re, but my dictionary just ends up with empty values. I've outlined my code below:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'.*├─BROKEN─', '', val)
This code results in an dictionary without values:
mydict = {
'Getting links from: https://www.foo.com/':
[
'',
'',
''
],
'Getting links from: https://www.bar.com/':
[
''
]
}
What I want is:
mydict = {
'Getting links from: https://www.foo.com/':
[
'http://www.broken.com/',
'http://www.set.com/',
'http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'http://www.broken.com/'
]
}
What am I missing?
python python-2.7 dictionary
I am trying to loop through a dictionary and replace a substring using Re, but my dictionary just ends up with empty values. I've outlined my code below:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'.*├─BROKEN─', '', val)
This code results in an dictionary without values:
mydict = {
'Getting links from: https://www.foo.com/':
[
'',
'',
''
],
'Getting links from: https://www.bar.com/':
[
''
]
}
What I want is:
mydict = {
'Getting links from: https://www.foo.com/':
[
'http://www.broken.com/',
'http://www.set.com/',
'http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'http://www.broken.com/'
]
}
What am I missing?
python python-2.7 dictionary
python python-2.7 dictionary
asked Jan 3 at 16:24
lanelane
140113
140113
1
Change thisv[i] = re.sub(r'.*├─BROKEN─', '', val)
tov[i] = re.sub(r'.*├─BROKEN─', '', s)
– Daniel Mesejo
Jan 3 at 16:27
1
You replaceval
which is exactly the string to replace. That's probably a typo and you meant to uses
instead ofval
.
– a_guest
Jan 3 at 16:27
add a comment |
1
Change thisv[i] = re.sub(r'.*├─BROKEN─', '', val)
tov[i] = re.sub(r'.*├─BROKEN─', '', s)
– Daniel Mesejo
Jan 3 at 16:27
1
You replaceval
which is exactly the string to replace. That's probably a typo and you meant to uses
instead ofval
.
– a_guest
Jan 3 at 16:27
1
1
Change this
v[i] = re.sub(r'.*├─BROKEN─', '', val)
to v[i] = re.sub(r'.*├─BROKEN─', '', s)
– Daniel Mesejo
Jan 3 at 16:27
Change this
v[i] = re.sub(r'.*├─BROKEN─', '', val)
to v[i] = re.sub(r'.*├─BROKEN─', '', s)
– Daniel Mesejo
Jan 3 at 16:27
1
1
You replace
val
which is exactly the string to replace. That's probably a typo and you meant to use s
instead of val
.– a_guest
Jan 3 at 16:27
You replace
val
which is exactly the string to replace. That's probably a typo and you meant to use s
instead of val
.– a_guest
Jan 3 at 16:27
add a comment |
2 Answers
2
active
oldest
votes
You don't need a regex here, seems a little expensive. Use string replace()
and strip()
:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.items():
mydict[k] = [x.replace(val, '').strip() for x in v]
print(mydict)
# {'Getting links from: https://www.foo.com/': ['http://www.broken.com/', 'http://www.set.com/', 'http://www.one.com/'],
# 'Getting links from: https://www.bar.com/': ['http://www.broken.com/']}
add a comment |
The code with modified regexp.
import re
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'├─BROKEN─', '', s)
Output:
{'Getting links from: https://www.bar.com/': [' http://www.broken.com/'],
'Getting links from: https://www.foo.com/': [' http://www.broken.com/',
' http://www.set.com/',
' http://www.one.com/']}
As was stated into the comment |
is a special character
Thank you for helping me to understand re better! +1
– lane
Jan 3 at 17:09
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54026141%2fhow-to-replace-substring-of-dictionary-values-using-re%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You don't need a regex here, seems a little expensive. Use string replace()
and strip()
:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.items():
mydict[k] = [x.replace(val, '').strip() for x in v]
print(mydict)
# {'Getting links from: https://www.foo.com/': ['http://www.broken.com/', 'http://www.set.com/', 'http://www.one.com/'],
# 'Getting links from: https://www.bar.com/': ['http://www.broken.com/']}
add a comment |
You don't need a regex here, seems a little expensive. Use string replace()
and strip()
:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.items():
mydict[k] = [x.replace(val, '').strip() for x in v]
print(mydict)
# {'Getting links from: https://www.foo.com/': ['http://www.broken.com/', 'http://www.set.com/', 'http://www.one.com/'],
# 'Getting links from: https://www.bar.com/': ['http://www.broken.com/']}
add a comment |
You don't need a regex here, seems a little expensive. Use string replace()
and strip()
:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.items():
mydict[k] = [x.replace(val, '').strip() for x in v]
print(mydict)
# {'Getting links from: https://www.foo.com/': ['http://www.broken.com/', 'http://www.set.com/', 'http://www.one.com/'],
# 'Getting links from: https://www.bar.com/': ['http://www.broken.com/']}
You don't need a regex here, seems a little expensive. Use string replace()
and strip()
:
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
val = "├─BROKEN─"
for k, v in mydict.items():
mydict[k] = [x.replace(val, '').strip() for x in v]
print(mydict)
# {'Getting links from: https://www.foo.com/': ['http://www.broken.com/', 'http://www.set.com/', 'http://www.one.com/'],
# 'Getting links from: https://www.bar.com/': ['http://www.broken.com/']}
answered Jan 3 at 16:27
AustinAustin
13.2k31031
13.2k31031
add a comment |
add a comment |
The code with modified regexp.
import re
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'├─BROKEN─', '', s)
Output:
{'Getting links from: https://www.bar.com/': [' http://www.broken.com/'],
'Getting links from: https://www.foo.com/': [' http://www.broken.com/',
' http://www.set.com/',
' http://www.one.com/']}
As was stated into the comment |
is a special character
Thank you for helping me to understand re better! +1
– lane
Jan 3 at 17:09
add a comment |
The code with modified regexp.
import re
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'├─BROKEN─', '', s)
Output:
{'Getting links from: https://www.bar.com/': [' http://www.broken.com/'],
'Getting links from: https://www.foo.com/': [' http://www.broken.com/',
' http://www.set.com/',
' http://www.one.com/']}
As was stated into the comment |
is a special character
Thank you for helping me to understand re better! +1
– lane
Jan 3 at 17:09
add a comment |
The code with modified regexp.
import re
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'├─BROKEN─', '', s)
Output:
{'Getting links from: https://www.bar.com/': [' http://www.broken.com/'],
'Getting links from: https://www.foo.com/': [' http://www.broken.com/',
' http://www.set.com/',
' http://www.one.com/']}
As was stated into the comment |
is a special character
The code with modified regexp.
import re
mydict = {
'Getting links from: https://www.foo.com/':
[
'├─BROKEN─ http://www.broken.com/',
'├─BROKEN─ http://www.set.com/',
'├─BROKEN─ http://www.one.com/'
],
'Getting links from: https://www.bar.com/':
[
'├─BROKEN─ http://www.broken.com/'
]
}
for k, v in mydict.iteritems():
for i, s in enumerate(v):
v[i] = re.sub(r'├─BROKEN─', '', s)
Output:
{'Getting links from: https://www.bar.com/': [' http://www.broken.com/'],
'Getting links from: https://www.foo.com/': [' http://www.broken.com/',
' http://www.set.com/',
' http://www.one.com/']}
As was stated into the comment |
is a special character
answered Jan 3 at 16:39
Dmytro ChasovskyiDmytro Chasovskyi
856829
856829
Thank you for helping me to understand re better! +1
– lane
Jan 3 at 17:09
add a comment |
Thank you for helping me to understand re better! +1
– lane
Jan 3 at 17:09
Thank you for helping me to understand re better! +1
– lane
Jan 3 at 17:09
Thank you for helping me to understand re better! +1
– lane
Jan 3 at 17:09
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54026141%2fhow-to-replace-substring-of-dictionary-values-using-re%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Change this
v[i] = re.sub(r'.*├─BROKEN─', '', val)
tov[i] = re.sub(r'.*├─BROKEN─', '', s)
– Daniel Mesejo
Jan 3 at 16:27
1
You replace
val
which is exactly the string to replace. That's probably a typo and you meant to uses
instead ofval
.– a_guest
Jan 3 at 16:27