extract a list within a string sequence
I have a sequence of string which has a python list within it. It looks like this
"['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
How can I can retrieve the string enclosed by as the list data type of python?
python list
add a comment |
I have a sequence of string which has a python list within it. It looks like this
"['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
How can I can retrieve the string enclosed by as the list data type of python?
python list
4
Possible duplicate of Convert string representation of list to list
– Aquarthur
Nov 20 '18 at 11:47
3
Possible duplicate of How to conver String to List withou using eval(Python)
– Netwave
Nov 20 '18 at 11:47
Is it sure that the string only contains the list or may it contain something else too? I.e., is the following possible:"This is my list ['a', 'b', 'c']. It's a beautiful list.
?
– Tobias Brösamle
Nov 20 '18 at 11:48
add a comment |
I have a sequence of string which has a python list within it. It looks like this
"['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
How can I can retrieve the string enclosed by as the list data type of python?
python list
I have a sequence of string which has a python list within it. It looks like this
"['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
How can I can retrieve the string enclosed by as the list data type of python?
python list
python list
asked Nov 20 '18 at 11:44
a_paridaa_parida
17911
17911
4
Possible duplicate of Convert string representation of list to list
– Aquarthur
Nov 20 '18 at 11:47
3
Possible duplicate of How to conver String to List withou using eval(Python)
– Netwave
Nov 20 '18 at 11:47
Is it sure that the string only contains the list or may it contain something else too? I.e., is the following possible:"This is my list ['a', 'b', 'c']. It's a beautiful list.
?
– Tobias Brösamle
Nov 20 '18 at 11:48
add a comment |
4
Possible duplicate of Convert string representation of list to list
– Aquarthur
Nov 20 '18 at 11:47
3
Possible duplicate of How to conver String to List withou using eval(Python)
– Netwave
Nov 20 '18 at 11:47
Is it sure that the string only contains the list or may it contain something else too? I.e., is the following possible:"This is my list ['a', 'b', 'c']. It's a beautiful list.
?
– Tobias Brösamle
Nov 20 '18 at 11:48
4
4
Possible duplicate of Convert string representation of list to list
– Aquarthur
Nov 20 '18 at 11:47
Possible duplicate of Convert string representation of list to list
– Aquarthur
Nov 20 '18 at 11:47
3
3
Possible duplicate of How to conver String to List withou using eval(Python)
– Netwave
Nov 20 '18 at 11:47
Possible duplicate of How to conver String to List withou using eval(Python)
– Netwave
Nov 20 '18 at 11:47
Is it sure that the string only contains the list or may it contain something else too? I.e., is the following possible:
"This is my list ['a', 'b', 'c']. It's a beautiful list.
?– Tobias Brösamle
Nov 20 '18 at 11:48
Is it sure that the string only contains the list or may it contain something else too? I.e., is the following possible:
"This is my list ['a', 'b', 'c']. It's a beautiful list.
?– Tobias Brösamle
Nov 20 '18 at 11:48
add a comment |
4 Answers
4
active
oldest
votes
Use the literal_eval
function from the standard library:
>>> from ast import literal_eval
>>> literal_eval("['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']")
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
This is way more safe than using eval
directly (source).
add a comment |
Use a regular expression to extract the list:
re.findall("'(.*?)'",st)
#['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
add a comment |
Use python's eval
function to evaluate the string and get a list
>>> x = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
>>> eval(x)
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
>>> type(eval(x))
<class 'list'>
NOTE:
eval
is dangerous in case you are exposing the code to open world such as a website or an api. eval
executes in global namespace and hence could be dangerous.
Example:
eval(os.listdir())
gives all files and folder in working directory.
3
dont use eval, use ast.literal_eval instead
– Netwave
Nov 20 '18 at 11:48
That answer is dangerous.
– Olivier Melançon
Nov 20 '18 at 12:51
add a comment |
You can also achieve your desired result using string operations and slicing:
string = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
wordList = list(map(lambda elem: elem.replace(''','') ,string[1:-1].split(', ')))
print(wordList)
Output:
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
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%2f53392307%2fextract-a-list-within-a-string-sequence%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
Use the literal_eval
function from the standard library:
>>> from ast import literal_eval
>>> literal_eval("['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']")
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
This is way more safe than using eval
directly (source).
add a comment |
Use the literal_eval
function from the standard library:
>>> from ast import literal_eval
>>> literal_eval("['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']")
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
This is way more safe than using eval
directly (source).
add a comment |
Use the literal_eval
function from the standard library:
>>> from ast import literal_eval
>>> literal_eval("['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']")
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
This is way more safe than using eval
directly (source).
Use the literal_eval
function from the standard library:
>>> from ast import literal_eval
>>> literal_eval("['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']")
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
This is way more safe than using eval
directly (source).
answered Nov 20 '18 at 11:47
juliencjulienc
10k105265
10k105265
add a comment |
add a comment |
Use a regular expression to extract the list:
re.findall("'(.*?)'",st)
#['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
add a comment |
Use a regular expression to extract the list:
re.findall("'(.*?)'",st)
#['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
add a comment |
Use a regular expression to extract the list:
re.findall("'(.*?)'",st)
#['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
Use a regular expression to extract the list:
re.findall("'(.*?)'",st)
#['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
edited Nov 20 '18 at 11:53
answered Nov 20 '18 at 11:47
yatuyatu
11k31036
11k31036
add a comment |
add a comment |
Use python's eval
function to evaluate the string and get a list
>>> x = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
>>> eval(x)
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
>>> type(eval(x))
<class 'list'>
NOTE:
eval
is dangerous in case you are exposing the code to open world such as a website or an api. eval
executes in global namespace and hence could be dangerous.
Example:
eval(os.listdir())
gives all files and folder in working directory.
3
dont use eval, use ast.literal_eval instead
– Netwave
Nov 20 '18 at 11:48
That answer is dangerous.
– Olivier Melançon
Nov 20 '18 at 12:51
add a comment |
Use python's eval
function to evaluate the string and get a list
>>> x = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
>>> eval(x)
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
>>> type(eval(x))
<class 'list'>
NOTE:
eval
is dangerous in case you are exposing the code to open world such as a website or an api. eval
executes in global namespace and hence could be dangerous.
Example:
eval(os.listdir())
gives all files and folder in working directory.
3
dont use eval, use ast.literal_eval instead
– Netwave
Nov 20 '18 at 11:48
That answer is dangerous.
– Olivier Melançon
Nov 20 '18 at 12:51
add a comment |
Use python's eval
function to evaluate the string and get a list
>>> x = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
>>> eval(x)
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
>>> type(eval(x))
<class 'list'>
NOTE:
eval
is dangerous in case you are exposing the code to open world such as a website or an api. eval
executes in global namespace and hence could be dangerous.
Example:
eval(os.listdir())
gives all files and folder in working directory.
Use python's eval
function to evaluate the string and get a list
>>> x = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
>>> eval(x)
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
>>> type(eval(x))
<class 'list'>
NOTE:
eval
is dangerous in case you are exposing the code to open world such as a website or an api. eval
executes in global namespace and hence could be dangerous.
Example:
eval(os.listdir())
gives all files and folder in working directory.
edited Nov 20 '18 at 14:25
answered Nov 20 '18 at 11:45
VishnudevVishnudev
1,156517
1,156517
3
dont use eval, use ast.literal_eval instead
– Netwave
Nov 20 '18 at 11:48
That answer is dangerous.
– Olivier Melançon
Nov 20 '18 at 12:51
add a comment |
3
dont use eval, use ast.literal_eval instead
– Netwave
Nov 20 '18 at 11:48
That answer is dangerous.
– Olivier Melançon
Nov 20 '18 at 12:51
3
3
dont use eval, use ast.literal_eval instead
– Netwave
Nov 20 '18 at 11:48
dont use eval, use ast.literal_eval instead
– Netwave
Nov 20 '18 at 11:48
That answer is dangerous.
– Olivier Melançon
Nov 20 '18 at 12:51
That answer is dangerous.
– Olivier Melançon
Nov 20 '18 at 12:51
add a comment |
You can also achieve your desired result using string operations and slicing:
string = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
wordList = list(map(lambda elem: elem.replace(''','') ,string[1:-1].split(', ')))
print(wordList)
Output:
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
add a comment |
You can also achieve your desired result using string operations and slicing:
string = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
wordList = list(map(lambda elem: elem.replace(''','') ,string[1:-1].split(', ')))
print(wordList)
Output:
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
add a comment |
You can also achieve your desired result using string operations and slicing:
string = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
wordList = list(map(lambda elem: elem.replace(''','') ,string[1:-1].split(', ')))
print(wordList)
Output:
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
You can also achieve your desired result using string operations and slicing:
string = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
wordList = list(map(lambda elem: elem.replace(''','') ,string[1:-1].split(', ')))
print(wordList)
Output:
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
edited Nov 20 '18 at 15:51
answered Nov 20 '18 at 14:07
Vasilis G.Vasilis G.
3,6802823
3,6802823
add a comment |
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%2f53392307%2fextract-a-list-within-a-string-sequence%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
4
Possible duplicate of Convert string representation of list to list
– Aquarthur
Nov 20 '18 at 11:47
3
Possible duplicate of How to conver String to List withou using eval(Python)
– Netwave
Nov 20 '18 at 11:47
Is it sure that the string only contains the list or may it contain something else too? I.e., is the following possible:
"This is my list ['a', 'b', 'c']. It's a beautiful list.
?– Tobias Brösamle
Nov 20 '18 at 11:48