Python sorting 2D array by the first element (not unique)
I have a very big 2D array where the second elements are not unique. Something like this:
list = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
I would like to sort it by the first element but not in alphabetical order, just in the order of appearance of first element. Desired output:
list = [ ['text43','value43'],
['text43','different_val_43'],
['text43','anohter_value43'],
['text23','value23'],
['text12','value12'],
['text12','another_value12'],
['text04','value04'] ]
python arrays list sorting
add a comment |
I have a very big 2D array where the second elements are not unique. Something like this:
list = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
I would like to sort it by the first element but not in alphabetical order, just in the order of appearance of first element. Desired output:
list = [ ['text43','value43'],
['text43','different_val_43'],
['text43','anohter_value43'],
['text23','value23'],
['text12','value12'],
['text12','another_value12'],
['text04','value04'] ]
python arrays list sorting
2
sorted(list1, key=lambda x: -int(x[0][-2:]))
?
– Bear Brown
Nov 13 '18 at 13:07
Hello @Birbal, you'll need to add some code that you have already tried to make work. Have you tried anything?
– gkapellmann
Nov 13 '18 at 13:09
3
Do not uselist
as the variable name of a python list. @BearBrown 's answer looks right.
– Charles Landau
Nov 13 '18 at 13:11
Thanks @CharlesLandau ...actually was just an example, I have not named itlist
.
– Birbal
Nov 13 '18 at 13:51
add a comment |
I have a very big 2D array where the second elements are not unique. Something like this:
list = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
I would like to sort it by the first element but not in alphabetical order, just in the order of appearance of first element. Desired output:
list = [ ['text43','value43'],
['text43','different_val_43'],
['text43','anohter_value43'],
['text23','value23'],
['text12','value12'],
['text12','another_value12'],
['text04','value04'] ]
python arrays list sorting
I have a very big 2D array where the second elements are not unique. Something like this:
list = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
I would like to sort it by the first element but not in alphabetical order, just in the order of appearance of first element. Desired output:
list = [ ['text43','value43'],
['text43','different_val_43'],
['text43','anohter_value43'],
['text23','value23'],
['text12','value12'],
['text12','another_value12'],
['text04','value04'] ]
python arrays list sorting
python arrays list sorting
asked Nov 13 '18 at 13:02
BirbalBirbal
587
587
2
sorted(list1, key=lambda x: -int(x[0][-2:]))
?
– Bear Brown
Nov 13 '18 at 13:07
Hello @Birbal, you'll need to add some code that you have already tried to make work. Have you tried anything?
– gkapellmann
Nov 13 '18 at 13:09
3
Do not uselist
as the variable name of a python list. @BearBrown 's answer looks right.
– Charles Landau
Nov 13 '18 at 13:11
Thanks @CharlesLandau ...actually was just an example, I have not named itlist
.
– Birbal
Nov 13 '18 at 13:51
add a comment |
2
sorted(list1, key=lambda x: -int(x[0][-2:]))
?
– Bear Brown
Nov 13 '18 at 13:07
Hello @Birbal, you'll need to add some code that you have already tried to make work. Have you tried anything?
– gkapellmann
Nov 13 '18 at 13:09
3
Do not uselist
as the variable name of a python list. @BearBrown 's answer looks right.
– Charles Landau
Nov 13 '18 at 13:11
Thanks @CharlesLandau ...actually was just an example, I have not named itlist
.
– Birbal
Nov 13 '18 at 13:51
2
2
sorted(list1, key=lambda x: -int(x[0][-2:]))
?– Bear Brown
Nov 13 '18 at 13:07
sorted(list1, key=lambda x: -int(x[0][-2:]))
?– Bear Brown
Nov 13 '18 at 13:07
Hello @Birbal, you'll need to add some code that you have already tried to make work. Have you tried anything?
– gkapellmann
Nov 13 '18 at 13:09
Hello @Birbal, you'll need to add some code that you have already tried to make work. Have you tried anything?
– gkapellmann
Nov 13 '18 at 13:09
3
3
Do not use
list
as the variable name of a python list. @BearBrown 's answer looks right.– Charles Landau
Nov 13 '18 at 13:11
Do not use
list
as the variable name of a python list. @BearBrown 's answer looks right.– Charles Landau
Nov 13 '18 at 13:11
Thanks @CharlesLandau ...actually was just an example, I have not named it
list
.– Birbal
Nov 13 '18 at 13:51
Thanks @CharlesLandau ...actually was just an example, I have not named it
list
.– Birbal
Nov 13 '18 at 13:51
add a comment |
2 Answers
2
active
oldest
votes
You can use a custom sorting function that would return the index at which the first element of a sublist is first found, e.g.:
lst = [['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43']]
d =
for i, item in enumerate(lst):
if item[0] not in d:
d[item[0]] = i
lst.sort(key=lambda item: d[item[0]])
print(lst)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
add a comment |
Look if this helps. Using sorted()
lst = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
sorted(lst, reverse=True)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
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%2f53281603%2fpython-sorting-2d-array-by-the-first-element-not-unique%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 can use a custom sorting function that would return the index at which the first element of a sublist is first found, e.g.:
lst = [['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43']]
d =
for i, item in enumerate(lst):
if item[0] not in d:
d[item[0]] = i
lst.sort(key=lambda item: d[item[0]])
print(lst)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
add a comment |
You can use a custom sorting function that would return the index at which the first element of a sublist is first found, e.g.:
lst = [['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43']]
d =
for i, item in enumerate(lst):
if item[0] not in d:
d[item[0]] = i
lst.sort(key=lambda item: d[item[0]])
print(lst)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
add a comment |
You can use a custom sorting function that would return the index at which the first element of a sublist is first found, e.g.:
lst = [['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43']]
d =
for i, item in enumerate(lst):
if item[0] not in d:
d[item[0]] = i
lst.sort(key=lambda item: d[item[0]])
print(lst)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
You can use a custom sorting function that would return the index at which the first element of a sublist is first found, e.g.:
lst = [['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43']]
d =
for i, item in enumerate(lst):
if item[0] not in d:
d[item[0]] = i
lst.sort(key=lambda item: d[item[0]])
print(lst)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
edited Nov 13 '18 at 13:43
answered Nov 13 '18 at 13:14
Eugene YarmashEugene Yarmash
84.6k22182261
84.6k22182261
add a comment |
add a comment |
Look if this helps. Using sorted()
lst = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
sorted(lst, reverse=True)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
add a comment |
Look if this helps. Using sorted()
lst = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
sorted(lst, reverse=True)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
add a comment |
Look if this helps. Using sorted()
lst = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
sorted(lst, reverse=True)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
Look if this helps. Using sorted()
lst = [ ['text43','value43'],
['text23','value23'],
['text12','value12'],
['text43','different_val_43'],
['text12','another_value12'],
['text04','value04'],
['text43','anohter_value43'] ]
sorted(lst, reverse=True)
Output:
[['text43', 'value43'],
['text43', 'different_val_43'],
['text43', 'anohter_value43'],
['text23', 'value23'],
['text12', 'value12'],
['text12', 'another_value12'],
['text04', 'value04']]
edited Nov 29 '18 at 18:10
answered Nov 13 '18 at 14:11
Srce CdeSrce Cde
1,164511
1,164511
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%2f53281603%2fpython-sorting-2d-array-by-the-first-element-not-unique%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
2
sorted(list1, key=lambda x: -int(x[0][-2:]))
?– Bear Brown
Nov 13 '18 at 13:07
Hello @Birbal, you'll need to add some code that you have already tried to make work. Have you tried anything?
– gkapellmann
Nov 13 '18 at 13:09
3
Do not use
list
as the variable name of a python list. @BearBrown 's answer looks right.– Charles Landau
Nov 13 '18 at 13:11
Thanks @CharlesLandau ...actually was just an example, I have not named it
list
.– Birbal
Nov 13 '18 at 13:51