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',
 ...}