Я пытаюсь получить отсортированный основной список из небольших списков.Это может быть в Python или R.
в R, у меня есть
l1<-c("a","c","d")
l2<-c("a","b","e")
l3<-c("a","c","e")
l4<-c("a","b","c","e")
l5<-c("b","c","d")
m<-unique(c(l1,l2,l3,l4,l5))
Результат, который я ожидал, равен a,b,c,d,e
.
В python
l1=["a","c","d"]
l2=["a","b","e"]
l3=["a","c","e"]
l4=["a","b","c","e"]
l5=["b","c","d"]
ожидаемый результат - ["a","b","c","d","e"]
Я начал с создания набора, просмотра каждого списка и проверки по индексу, но он стал сложным.
Спасибо за помощь.
РЕДАКТИРОВАТЬ: Я думаю, что я перепутал вас с сортировкой по алфавиту.Эти элементы списка могут быть случайными.реальный заказ не может быть a,b,c,d,e
.
l1=["e","a"]
l2=["e","b","d"]
l3=["b","d","a"]
в этом случае ожидаемый порядок: ["e","b","d","a"]
, а не ["a","b","d","e"]
, для большей ясности, подумайте о том, как мало людей пытаются назвать штаты США с востока на запад.
person 1 says, Florida, Louisiana, Nevada,California.
person 2 says Alabama, Mississippi, Louisiana, new Mexico, Nevada
person 3 says Florida, Alabama, Texas, New Mexico, California
person 4 says Alabama, Mississippi, Texas, Nevada
person 5 says Mississippi Louisiana, Nevada
и я пытаюсь получить правильный порядок из информации выше.
Итак, здесь мы начнем с Florida, Louisiana, Nevada, California
.Теперь, добавив второе, это будет (Alabama, Florida),Louisiana,New Mexico, Nevada, California.
Добавление 3-го (разрывает связь Алабама / Флорида) Florida, Alabama, Louisiana, Texas, New Mexico, Nevada, California
и добавление 4-го делает Florida, Alabama, (Mississippi/Louisiana), Texas, New Mexico, Nevada, California
.добавив 5-й перерыв связать Миссисипи и Луизианы.