Conjuntos — 8:13 min
8:13 min | Última modificación: Octubre 5, 2021
Un conjunto es una estructura de datos cuyos elementos no se repiten.
[1]:
#
# Un conjunto es una estructura de datos
# cuyos elementos no se repiten
#
set_a = {"a", "a", "b", "c", "d", "d", "d"}
set_a
[1]:
{'a', 'b', 'c', 'd'}
[2]:
#
# Un conjunto es una estructura de datos
# cuyos elementos no se repiten
#
set_a = set(["a", "a", "b", "c", "d", "d", "d"])
set_a
[2]:
{'a', 'b', 'c', 'd'}
[3]:
#
# Longitud
#
len(set_a)
[3]:
4
Métodos
[4]:
#
# add()
# ===================================
#
set_a = {"a", "b", "c", "d"}
set_a.add(1)
set_a
[4]:
{1, 'a', 'b', 'c', 'd'}
[5]:
#
# discard()
# ===================================
#
set_a = {"a", "b", "c", "d"}
set_a.discard("a")
set_a
[5]:
{'b', 'c', 'd'}
[6]:
#
# pop()
# ===================================
#
set_a = {"a", "b", "c", "d"}
set_a.pop()
set_a
[6]:
{'a', 'b', 'c'}
[7]:
#
# update()
# ===================================
#
set_a = {"a", "b", "c", "d"}
set_b = {1, 2, 3, 4}
set_a.update(set_b)
set_a
[7]:
{1, 2, 3, 4, 'a', 'b', 'c', 'd'}
[8]:
#
# difference
# ===================================
#
set_a = {0, 1, 2, 3, 4, 5}
set_b = {3, 4, 5, 6, 7, 8}
set_a.difference(set_b)
[8]:
{0, 1, 2}
[9]:
#
# union
# ===================================
#
set_a = {0, 1, 2, 3, 4, 5}
set_b = {3, 4, 5, 6, 7, 8}
set_a.union(set_b)
[9]:
{0, 1, 2, 3, 4, 5, 6, 7, 8}
[10]:
#
# intersection
# ===================================
#
set_a = {0, 1, 2, 3, 4, 5}
set_b = {3, 4, 5, 6, 7, 8}
set_a.intersection(set_b)
[10]:
{3, 4, 5}
Operadores
[11]:
#
# Diferencia de conjuntos
# ===================================
#
set_a = {0, 1, 2, 3, 4, 5}
set_b = {3, 4, 5, 6, 7, 8}
set_a - set_b
[11]:
{0, 1, 2}
[12]:
#
# Unión de conjuntos
# ===================================
#
set_a = {0, 1, 2, 3, 4, 5}
set_b = {3, 4, 5, 6, 7, 8}
set_a | set_b
[12]:
{0, 1, 2, 3, 4, 5, 6, 7, 8}
[13]:
#
# Intersección de conjuntos
# ===================================
#
set_a = {0, 1, 2, 3, 4, 5}
set_b = {3, 4, 5, 6, 7, 8}
set_a & set_b
[13]:
{3, 4, 5}
[14]:
#
# Unión menos intersección
# ===================================
#
set_a = {0, 1, 2, 3, 4, 5}
set_b = {3, 4, 5, 6, 7, 8}
set_a ^ set_b
[14]:
{0, 1, 2, 6, 7, 8}
[15]:
#
# Pertenencia
# ===================================
#
"a" in set_a
[15]:
False
Ejemplo
A partir del archivo babe_names.csv, encuentre los nombres que aparecen en 2014 y no en 2011.
[16]:
babynames_url = (
"https://raw.githubusercontent.com/jdvelasq/datalabs/master/datasets/baby_names.csv"
)
!wget --quiet {babynames_url} -P /tmp/
[17]:
#
# El detalle de este codigo es explicado más
# adelante
#
import pandas as pd
babynames_df = pd.read_csv("/tmp/baby_names.csv")
babynames_df.head()
[17]:
BRITH_YEAR | GENDER | ETHNICTY | NAME | COUNT | RANK | |
---|---|---|---|---|---|---|
0 | 2011 | FEMALE | HISPANIC | GERALDINE | 13 | 75 |
1 | 2011 | FEMALE | HISPANIC | GIA | 21 | 67 |
2 | 2011 | FEMALE | HISPANIC | GIANNA | 49 | 42 |
3 | 2011 | FEMALE | HISPANIC | GISELLE | 38 | 51 |
4 | 2011 | FEMALE | HISPANIC | GRACE | 36 | 53 |
[18]:
#
# Listas con los nombres para los años 2011 y 2014
#
babynames_2011_list = babynames_df[babynames_df.BRITH_YEAR == 2011].NAME.tolist()
babynames_2014_list = babynames_df[babynames_df.BRITH_YEAR == 2014].NAME.tolist()
[19]:
babynames_2011_set = set(babynames_2011_list)
babynames_2014_set = set(babynames_2014_list)
babynames_2014_set - babynames_2011_set
[19]:
{'Gavriel',
'Sarah',
'Salma',
'Nicolas',
'Isabella',
'Nasir',
'Sloane',
'Lena',
'Valery',
'Edwin',
'Amadou',
'Eitan',
'Erik',
'Giuseppe',
'Hersh',
'Aiza',
'Oumou',
'Caleb',
'Berish',
'Esty',
'Melany',
'Karen',
'Fiona',
'Kendra',
'Rowan',
'Sebastian',
'Shayan',
'Moshe',
'Prince',
'Lola',
'Efraim',
'Ali',
'Jazlyn',
'Caroline',
'Keila',
'Jake',
'Jonathan',
'Dominick',
'Kabir',
'Maxim',
'Elina',
'Kelly',
'Alma',
'Kamila',
'Ariana',
'Kate',
'Noa',
'Mohammad',
'Londyn',
'Natalie',
'Carlos',
'Trany',
'Pinchus',
'Francesca',
'Paris',
'Cora',
'Alexander',
'Alejandro',
'Sanai',
'Kayden',
'Cristian',
'Daniella',
'Carina',
'Yahir',
'Nia',
'Elijah',
'Maddox',
'Mariana',
'Priscilla',
'Azaan',
'Tiffany',
'Perl',
'Montserrat',
'Emilia',
'Hadassah',
'Ahnaf',
'Shmuel',
'Kennedy',
'Piper',
'Carly',
'Ximena',
'Christopher',
'Ava',
'Atara',
'Avraham',
'Henchy',
'Hana',
'Damon',
'Ivan',
'Hindy',
'Jorge',
'Michael',
'Noor',
'Avital',
'Miracle',
'Mirel',
'Amelie',
'Brody',
'Nosson',
'Allen',
'Oumar',
'Aliyah',
'Hanna',
'Jasmine',
'Hershy',
'Anabelle',
'Mathias',
'Brigitte',
'Addison',
'Juliet',
'Goldy',
'Noah',
'Jana',
'Alisa',
'Neil',
'Amiya',
'Jasper',
'Samantha',
'Amina',
'Yasmine',
'Menachem',
'Solomon',
'Weston',
'Shaindy',
'Landon',
'Aziza',
'Ruchel',
'Brandon',
'Sienna',
'Hayden',
'Jeffrey',
'Khalil',
'Adelaide',
'Jose',
'Elliot',
'Omar',
'Julius',
'Shlomo',
'Rebecca',
'Rohan',
'Brielle',
'Elvis',
'Wilson',
'Jannat',
'Ibrahim',
'Yidel',
'Hawa',
'Maeve',
'Julia',
'Avery',
'Fernando',
'Ronan',
'Anisa',
'Carter',
'Chanel',
'Dean',
'Salvatore',
'Aissatou',
'Angeline',
'Yitzchak',
'Yisroel',
'Kiara',
'Helen',
'Brooks',
'Emily',
'Lauryn',
'Jared',
'Yandel',
'Duvid',
'Eliana',
'Gemma',
'Mikaela',
'Mira',
'Pedro',
'Yossi',
'Savion',
'Erin',
'Luna',
'Anthony',
'Livia',
'Orlando',
'Allison',
'Jamar',
'Stanley',
'Daniela',
'Johan',
'Briana',
'Beckett',
'Yasmin',
'Alberto',
'Eduardo',
'Delilah',
'Amelia',
'Patrick',
'Khloe',
'Aubree',
'Mariam',
'Anna',
'Haylee',
'Isabel',
'Jesse',
'Violet',
'Shawn',
'Elisheva',
'Janelle',
'Zuri',
'Tyler',
'Alexis',
'Jayda',
'Ahmed',
'Madeline',
'Kyla',
'Lorenzo',
'Elian',
'Olivia',
'Louis',
'Denis',
'Melody',
'Shreya',
'Sariah',
'Layan',
'Adrianna',
'Nicole',
'Aidan',
'Shane',
'Zahir',
'Janice',
'Kelsey',
'Nylah',
'Mushka',
'Rory',
'Yosef',
'Marjorie',
'Zev',
'Cormac',
'Georgia',
'Liam',
'Carla',
'Yousef',
'Emerson',
'Charlie',
'Abraham',
'Elle',
'Donovan',
'Rifky',
'Andrew',
'Omari',
'Keyla',
'Stephen',
'Fanta',
'Maximilian',
'Roberto',
'Morgan',
'Eliza',
'Kimora',
'Aicha',
'Lila',
'Sadie',
'Angie',
'Benson',
'Malky',
'Noel',
'Jack',
'Christian',
'Jaylah',
'Egypt',
'Maisie',
'Maryam',
'Tatiana',
'Jayden',
'Leyla',
'Eva',
'Kamari',
'Richard',
'Graham',
'Esther',
'Eden',
'Siena',
'Adina',
'Marielle',
'Daniel',
'Ariella',
'Bracha',
'Kyrie',
'Marilyn',
'Wyatt',
'Stella',
'Eason',
'Margaret',
'Kieran',
'Evie',
'Gary',
'Malak',
'Hugo',
'Raizy',
'Valentina',
'Raizel',
'Eliyahu',
'Saul',
'Heidi',
'Parker',
'Meir',
'Shia',
'Emmanuel',
'Zissy',
'Rayan',
'Alisha',
'Blimy',
'Berl',
'Kaitlyn',
'Romeo',
'Mason',
'Chana',
'Abdoulaye',
'Ruchy',
'Marcel',
'Joy',
'Tori',
'Luca',
'Mendy',
'Johnny',
'Kaden',
'Ruby',
'Bennett',
'Ayden',
'Sincere',
'Katherine',
'Nathalie',
'Eileen',
'Theo',
'Inaya',
'Jeremiah',
'Tenzin',
'Dante',
'Gabriel',
'Gabrielle',
'Ayan',
'Alina',
'Grace',
'Danielle',
'Nicholas',
'Pearl',
'Safa',
'Jimmy',
'Alexandra',
'Rena',
'Joseph',
'Daisy',
'Kenneth',
'Jordan',
'Frances',
'Veronica',
'Alston',
'Zaiden',
'Bruce',
'Rocco',
'Lailah',
'Moishe',
'Drew',
'Colette',
'Valerie',
'Queena',
'Ayala',
'Mary',
'Evan',
'Reizy',
'Catalina',
'Simon',
'Catherine',
'Lillian',
'Anabella',
'Leah',
'Aden',
'Linda',
'Wolf',
'Harry',
'Josiah',
'Malachi',
'Nora',
'Timothy',
'McKenzie',
'Sean',
'Madison',
'Juliette',
'Jayla',
'George',
'Bradley',
'Aylin',
'Luciana',
'Michaela',
'Jerry',
'Liliana',
'Hailie',
'Frank',
'Alpha',
'Skyler',
'Goldie',
'Bryanna',
'Vivienne',
'Brady',
'Penelope',
'Maya',
'Leila',
'Amaya',
'Rose',
'Kayleen',
'Eleanor',
'Nelson',
'Julissa',
'Ari',
'Aleena',
'Camila',
'Cecelia',
'Noelle',
'Jackson',
'Khadijah',
'Katie',
'Cassidy',
'Faith',
'Derick',
'Suri',
'Leilani',
'Cheskel',
'Kimi',
'Jayce',
'Taylor',
'Malia',
'Vincent',
'Kristian',
'Ruben',
'Daphne',
'Joshua',
'Erika',
'Alissa',
'Allyson',
'Alex',
'Pessy',
'Benzion',
'Marcus',
'Eve',
'Jonas',
'Isaiah',
'Carmelo',
'Rivky',
'Cecilia',
'Esmeralda',
'Bianca',
'Phoenix',
'Ibrahima',
'Litzy',
'Alvin',
'Edison',
'Lara',
'Kenny',
'Junior',
'Cole',
'Zion',
'Alexia',
'Mila',
'Clara',
'Laila',
'Liv',
'Zelda',
'Lucas',
'Malik',
'Lawrence',
'Audrey',
'Iker',
'Jefferson',
'Khadija',
'David',
'Yaakov',
'Griffin',
'Sara',
'Adonis',
'Clementine',
'Toby',
'Miguel',
'Carmen',
'Yaretzi',
'Emilio',
'Gavin',
'Avigail',
'Julie',
'Mia',
'Max',
'Mekhi',
'Zane',
'Karas',
'Yechiel',
'Maggie',
'Everett',
'Amirah',
'Brianna',
'Luke',
'Doris',
'Bryant',
'Phoebe',
'Aaron',
'Shraga',
'Gabriella',
'Roy',
'Autumn',
'Giovanni',
'Maia',
'Arthur',
'Jessica',
'Blake',
'Shulem',
'Annie',
'Jaylene',
'Martin',
'Elizabeth',
'Kaylin',
'Tamar',
'Aydin',
'Fatima',
'Hope',
'Greyson',
'Menashe',
'Simone',
'Dahlia',
'Shea',
'Joaquin',
'Victoria',
'Rachel',
'Armani',
'Lincoln',
'Irene',
'Brooke',
'Nathaly',
'Marlon',
'Brucha',
'Genesis',
'Sury',
'Chava',
'Angelica',
'Amara',
'Devora',
'Ryder',
'Vicky',
'Victor',
'Chaim',
'Alfred',
'Justice',
'Wesley',
'Morris',
'Inaaya',
'Nico',
'Alondra',
'Selina',
'Talia',
'Jean',
'Kylee',
'Rhys',
'Nechama',
'Selena',
'Shayna',
'Isabelle',
'Edgar',
'Isla',
'Alessandra',
'Nashla',
'Pablo',
'Nevaeh',
'Kyle',
'Malaysia',
'Major',
'Joselyn',
'Calvin',
'Matthew',
'Grant',
'Jacob',
'Sholom',
'April',
'Abdoul',
'Brynn',
'Maximus',
'Kaylie',
'Brenda',
'Shira',
'Athena',
'Zain',
'Myles',
'Colin',
'Moussa',
'Darren',
'Josue',
'Yehudis',
'Nova',
'Cameron',
'Sasha',
'Madisyn',
'Melina',
'Zayan',
'Imran',
'Jax',
'Zoe',
'Cayden',
'Sarai',
'Charlotte',
'Syeda',
'Lana',
'Josephine',
'Tony',
'Anne',
'Elliott',
'Aniya',
'Connor',
'Emely',
'Esme',
'Quincy',
'Declan',
'Nikita',
'Jesus',
'Hazel',
'Chloe',
'Ayla',
'Jane',
'Elimelech',
'Yitty',
'Mark',
'Nathaniel',
'Rafael',
'Derek',
'Muhammad',
'Ahmad',
'Zayden',
'Silas',
'Jakub',
'Abigail',
'Arjun',
'Katelyn',
'Shoshana',
'Juan',
'Brendan',
'Reed',
'Nina',
'Winter',
'Judah',
'Zaniyah',
'Leandro',
'Moses',
'Ester',
'Eloise',
'Tziporah',
'Maxwell',
'Jason',
'Avrohom',
'Bryan',
'Hector',
'Rochel',
'Leonardo',
'Saniyah',
'Izabella',
'Roizy',
'Zachary',
'Joanna',
'Harper',
'Lucia',
'Matias',
'Jace',
'Madelyn',
'Emmett',
'Ivy',
'Avi',
'Gael',
'Shlome',
'Chase',
'Youssef',
'Aria',
'Alison',
'Adriel',
'Henry',
'Luka',
'Peyton',
'Eleni',
'Tianna',
'Tessa',
'Joel',
'Ellis',
'Skye',
'Shaina',
'Austin',
'Lizbeth',
'Aviva',
'Dina',
'Roman',
'Abdullah',
'Adam',
'Jayson',
'Fabian',
'Gordon',
'Israel',
'Marvin',
'Milo',
'Miranda',
'Frady',
'Aileen',
'Golda',
'Syed',
'Lindsay',
'Arielle',
'Eli',
'Dennis',
'Rodrigo',
'Chelsea',
'Mendel',
'Evangeline',
'Carolina',
'Fatou',
'Preston',
'Amber',
'Axel',
'Danna',
'Leslie',
'Alessia',
'Aliza',
'Faiga',
'Ashley',
'Spencer',
'Lily',
'Jenny',
'Perel',
'Leora',
'Lauren',
'Violeta',
'Thiago',
'Kristen',
'Mayer',
'Jaiden',
'Serena',
'Louisa',
'Ryan',
'Lazer',
'Blima',
'Tess',
'Mordche',
'Fradel',
'Skyla',
'Mandy',
'Naftali',
'Naomi',
'June',
'Owen',
'Paul',
'Zara',
'Shaindel',
'Jalen',
'Nyla',
'Angela',
'Skylah',
'Ashton',
'Angelique',
'Andy',
'Lucien',
'Yariel',
'Makayla',
'Boruch',
'Vivian',
'Amia',
'Leo',
'Adan',
'Lilah',
'Elena',
'Jaylin',
'Arely',
'Quinn',
'Rosa',
'Santino',
'Lia',
'Philip',
'Joyce',
'Ben',
'Oscar',
'Avrum',
'Karina',
'Enrique',
'Sam',
'Imani',
'Kali',
'Ahuva',
'Alexandria',
'Mikayla',
'Javier',
'Aron',
'Filip',
'Skylar',
'Arham',
'Lesly',
'Cali',
'Eric',
'Melvin',
'Simcha',
'Yehuda',
'Damian',
'Kevin',
'Jay',
'Maximiliano',
'Ezra',
'Helena',
'Lipa',
'Harlow',
'Yitzchok',
'Juniper',
'Eliezer',
'Binyamin',
'Jaxon',
'Yadiel',
'Kadiatou',
'Monserrat',
'London',
'Erica',
'Kingsley',
'Marco',
'Isaac',
'Maria',
'Queenie',
'Danny',
'Ricardo',
'Willa',
'Annalise',
'Felix',
'Nahla',
'Everly',
'Leon',
'Jordyn',
'Celeste',
'Amalia',
'Anderson',
'Lukas',
'Aayan',
'Anaya',
'Bella',
'Karter',
'Issac',
'Yael',
'Kimberly',
'Lilian',
'Amy',
'Ayaan',
'Savannah',
'Ricky',
'Michelle',
'Julianna',
'Dylan',
'Caiden',
'Francis',
'Mouhamed',
'Julio',
'Ariel',
'Arianna',
'Anastasia',
'Sawyer',
'Laura',
'Scarlett',
'Finn',
'Zariah',
'Yakov',
'Heaven',
'Keira',
'Chany',
'Gregory',
'Camilla',
'Yides',
'Messiah',
'Angelina',
'Etty',
'Christina',
'Kingston',
'Micah',
'Gia',
'Cataleya',
'Sima',
'Tristan',
'Annabella',
'Enzo',
'Aarya',
'Camille',
'Celia',
'Monica',
'Robert',
'Barbara',
'Alice',
'Amanda',
'Journey',
'Arisha',
'Beatrice',
'Henny',
'Jasmina',
'Mathew',
'Randy',
'Aharon',
'Oliver',
'Noam',
'Maliyah',
'Aminata',
'Magaly',
'Kendrick',
'Fraidy',
'Mike',
'Giovanna',
'August',
'Aryeh',
'Ayleen',
'Nadia',
'Aahil',
'Yoel',
'Journee',
'Ethan',
'Annabelle',
'Melanie',
'Dayana',
'Wendy',
'Emmeline',
'Hadley',
'Zamir',
'Leonidas',
'Hailey',
'Neymar',
'Mariama',
'Ayesha',
'Ezequiel',
'Jadiel',
'Abel',
'Arya',
'Kayla',
'Miriam',
'Chance',
'Faigy',
'Shimon',
'Arabella',
'Musa',
'Yahya',
'Dashiell',
'Amira',
'Andres',
'Dariel',
'Lyric',
'Francisco',
'Hamza',
'Juliana',
'Hassan',
'John',
'Aurora',
'Jayleen',
'Cesar',
'Mateo',
'Yaseen',
'Fatoumata',
'Ada',
'Yasmina',
'Jessie',
'Lucy',
'Amari',
'Santiago',
'Andrea',
'Paige',
'Chris',
'Jariel',
'Olive',
'Aisha',
'Giselle',
'Samara',
'Uriel',
'Hudson',
'Adyan',
'Alexa',
'Princeton',
'Manuel',
'Aubrey',
'Shloime',
'Peter',
'Jonah',
'Yocheved',
'Lyla',
'Cooper',
'Steven',
'Bridget',
'Vincenzo',
'Menucha',
'Zoey',
'Salome',
'Reese',
'Devin',
'Miles',
'Daleyza',
'Sophie',
'Itzel',
'Emanuel',
'Walter',
'Rayyan',
'Nathan',
'Winston',
'Jade',
'Melissa',
'Sylvie',
'Erick',
'Adriana',
'Batsheva',
...}