Faits :
A.
Par jugement du 13 mars 2019, le Tribunal correctionnel de l'arrondissement de la Broye et du Nord vaudois a condamné A._ à une peine privative de liberté d'ensemble de 38 mois et à une amende de 500 fr. pour dommages à la propriété de peu d'importance, tentative de contrainte, séquestration qualifiée, tentative d'extorsion par brigandage, violence ou menace contre les autorités et les fonctionnaires et contravention à la LStup. Il a également ordonné l'expulsion de A._ du territoire suisse pour une durée de dix ans.
B.
Par jugement du 17 septembre 2019, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel formé par A._ à l'encontre de la décision de première instance, qu'elle a intégralement confirmée. Elle s'est fondée en substance sur les faits suivants.
B.a. A._ est né en 1999 à B._. Il est l'aîné d'une fratrie de deux enfants. Il vivait avec sa mère à C._ lors de son arrestation, le 16 août 2018, à raison des faits décrits ci-après. Son père vit en France depuis qu'il est âgé de sept ans.
De nationalités turque et macédonienne, A._ a résidé en Suisse au bénéfice d'un permis de séjour annuel B, actuellement échu. Il a suivi sa scolarité obligatoire à B._ puis à D._. Il a obtenu son certificat d'étude VSO en 2015. Il a ensuite tenté une mesure d'insertion professionnelle (le SEMO) pendant une semaine et demie, avant d'entamer un apprentissage de storiste. Il n'a toutefois pas pu terminer cette formation, l'entreprise ne l'ayant pas gardé à son service du fait d'une incarcération d'un mois. Le prénommé a ensuite tenté sans succès de se faire engager comme apprenti auprès d'une entreprise d'électricité, avant de retourner, en janvier 2017, auprès de l'entreprise qui l'avait précédemment engagé, sans davantage de succès. Il a encore été engagé provisoirement par une entreprise de serrurerie durant l'hiver 2017-2018 mais l'entreprise a fermé au début 2018. Au moment de son arrestation, le prévenu n'avait pas d'emploi. Il pratiquait le football auprès du FC E._, en 4e ligue, et envisageait de jouer à F._.
A._ fait l'objet de neuf poursuites pour un montant total de 8'199 fr. 55 et de trois actes de défaut de biens pour un montant total de 1'451 fr. 65. Il n'a pas de fortune. Aux débats de première instance, il a produit une attestation selon laquelle il faisait l'objet d'un suivi infirmier régulier permettant d'explorer le parcours de sa vie, les conditions de sa détention, la gestion de ses émotions et ses projets futurs. Selon ce document, il était demandeur de son suivi et se rendait à tous les entretiens proposés.
Son casier judiciaire fait état de deux condamnations, à savoir:
- une peine de trois mois de privation de liberté selon le DPMin, dont sursis à l'exécution de la peine pour une part de deux mois, avec délai d'épreuve de deux ans, prononcée le 31 janvier 2017 par le Tribunal des mineurs, pour lésions corporelles simples, voies de fait, menaces, tentative d'incendie intentionnel, violence ou menace contre les autorités et les fonctionnaires, tentative d'entrave à l'action pénale, délit contre la loi fédérale sur les armes, contravention à la loi fédérale sur les chemins de fer, contravention à la loi fédérale sur le transport de voyageurs et contravention à l'art. 19a de la loi sur les stupéfiants;
- une peine pécuniaire de 120 jours-amende à 30 fr. le jour-amende et une amende de 200 fr., prononcées le 27 mars 2018 par le Ministère public de l'arrondissement du Nord vaudois, pour conducteur se trouvant dans l'incapacité de conduire, vol d'usage d'un véhicule automobile, conduire un véhicule automobile soustrait, contravention selon l'art. 19a de la loi sur les stupéfiants et contravention à l'ordonnance sur les règles de la circulation routière.
B.b. Depuis le début de l'été 2018, G._, né en 1999, occupait seul un appartement à C._. De nombreuses personnes se rendaient dans ce logement, sans qu'il ne maîtrisât véritablement la situation, éprouvant des difficultés à imposer sa volonté. Le 15 août 2018, vers 15h15, A._ et H._ sont entrés chez lui. A._ a fermé la porte à clé, s'est assis auprès de G._, et lui a demandé pourquoi il colportait que son camarade et lui salissaient les lieux et mangeaient tout lorsqu'ils venaient chez lui, avant de préciser que s'il s'en plaignait à la police, il le tuerait. Dans la foulée, H._ a asséné une baffe à G._ et a arraché les deux colliers qu'il portait au cou. L'un des pendentifs a été retrouvé sur place par la victime tandis que l'autre, une chaînette en or constituée de petits maillons, a disparu.
A._ a pris le relais et s'est défoulé sur la victime qu'il a molestée, humiliée et menacée de diverses façons, le tout sur fond de discussion liée aux reproches précités. Pendant ce temps, H._ filmait la scène au moyen de son téléphone. Ainsi, après avoir asséné cinq ou six gifles à G._, A._ lui a demandé de se mettre tout nu. Il a alors découpé avec un ciseau le pantalon de son training au niveau de la braguette, a déposé sur ce morceau de tissu de la moutarde, du Kiri et de l'arôme de chicha, et lui a ordonné de manger le tout, y compris le bout de vêtement. Terrorisée, la victime a tenté d'ingérer cette chose mais n'y est pas parvenue; elle a en effet vomi, en réaction à quoi A._ lui a donné des gifles. A._ a enchaîné en demandant à G._ de s'asseoir sur le canapé. Il lui a donné des claques puis lui a envoyé un coup de pied, semelle en avant, sur la joue gauche. A._ a ensuite exigé de la victime qu'elle se lève et qu'elle lui inflige un coup de poing au visage. G._ s'est timidement exécuté dans un geste sans puissance ni force. A._ s'est aussitôt écrié qu'il était une "pute", l'a rabaissé verbalement et lui a adressé une salve de puissants coups de poing sur le côté gauche du visage. A._ a poursuivi en lui demandant de se rhabiller et de se rasseoir, avant de lui asséner une autre gifle. Il a ensuite allumé une cigarette et a ordonné à G._ de faire des pompes au-dessus d'un sac poubelle rempli de détritus, sa tête finissant dans ce sac à chaque mouvement, et lui a interdit de s'arrêter tant qu'il n'avait pas fini de fumer. La victime a obéi. Lorsqu'elle s'arrêtait parce qu'elle avait mal aux bras, A._ la frappait derrière la tête. Cette scène a duré entre cinq et six minutes. A la suite de cela, G._ a essuyé une série de coups de pied à la hauteur de son flanc gauche. L'un de ces coups de pied était si fort que G._ a été projeté à un mètre, sans pour autant tomber. A._ a aussi brûlé le dos de la main droite de G._ en y éteignant sa cigarette, l'a obligé à mâcher et avaler le reste d'un joint précédemment fumé avec H._, lui a fait ingérer du produit de vaisselle et l'a fouetté au moyen du tuyau de la chicha. A._ a en outre insulté G._ tout au long des événements et l'a menacé de le tuer à sa sortie de prison s'il disait quelque chose à la police.
De manière à ne plus être importuné, G._ s'est rendu dans sa chambre; il avait très mal au visage et n'avait plus de sensations du front jusqu'à la mâchoire. A._ l'a suivi et a continué de lui donner des coups de poing et de genou dans le thorax, au point que la victime en a eu sa respiration bloquée à trois reprises. A._ lui a aussi asséné des coups de pied et de genou dans la jambe gauche et, chaque fois que la victime tombait, il lui demandait de se relever et continuait de s'en prendre à elle. Pendant ce temps, H._ est demeuré au salon et ne filmait plus. Il est en outre intervenu à deux reprises pour demander à son camarade d'arrêter de frapper la victime, mais ne s'est pas fait entendre.
Aux alentours de 18h00, les sévices ont pris fin et A._ a exigé de G._ qu'il lui remette la clé de son logement afin de pouvoir se rendre chez lui quand il le souhaitait. Il a également demandé sa carte bancaire. Paniqué, G._ s'est exécuté. A._, H._ et G._ se sont alors rendus à la succursale de la Banque I._ de C._. Le dernier nommé a consulté l'état de son compte, qui affichait un solde créditeur de 19 fr. 15 sur le bancomat. Aucun retrait n'a été effectué mais A._ a ordonné à G._ de lui verser 100 fr. chaque semaine, faute de quoi il le frapperait à nouveau. Le prévenu a également conservé la carte bancaire de la victime. A._, H._ et G._ ont ensuite regagné l'appartement de ce dernier, accompagnés de J._, qu'ils avaient croisé en route et qui avait décidé de les suivre. Une fois chez la victime, A._ lui a indiqué que ce n'était pas fini, qu'il voulait la séquestrer durant toute la nuit à venir et continuer à la frapper.
A._, H._ et J._ ont ensuite exigé de G._ qu'il aille leur acheter des boissons et de la nourriture avec son argent. J._ a toutefois remis deux pièces de cinq francs à la victime pour l'aider à régler le prix. G._ s'est alors absenté pour effectuer ces achats. De retour à son appartement vers 19h00, G._ a remis ses achats aux trois occupants des lieux et s'est couché dans son lit. Il avait mal à tête, des vertiges, mal au ventre, un peu envie de vomir et des douleurs sur tout le corps, spécialement au niveau des jambes. Par crainte de croiser A._ et H._, qui passaient depuis quelques temps volontiers la nuit sur le canapé de son salon, G._ s'est levé aux alentours de 10h le lendemain matin et a constaté que ses agresseurs n'étaient plus là.
Le 16 août 2018 à 20h21, G._ s'est présenté au service des urgences de l'Hôpital de C._. Dans un constat établi le même jour, les médecins ont relevé de multiples dermabrasions sur tout son corps, une brûlure de cigarette au dos de sa main droite, une petite lacération sur la partie gauche de son visage et une petite plaie au niveau dorsal de son pied droit. Ils ont également fait état de douleurs importantes de l'angle mandibulaire gauche, tout en précisant que l'ouverture et la fermeture buccales restaient acceptables. Les praticiens ont par ailleurs rapporté un traumatisme crânien simple, sans perte de connaissance. Constatant que le patient était en état de choc, ils lui ont proposé un suivi auprès d'un psychologue ou d'un psychiatre, que la victime a toutefois refusé.
B.c. Deux patrouilles de policiers se sont immédiatement rendues au domicile de la victime, où elles ont pu appréhender A._, H._, J._ et une tierce personne. Comme le ton est rapidement monté et que A._ a tenté de se soustraire à son interpellation, l'appointé K._ l'a maîtrisé contre le mur, lui a demandé de reculer ses jambes et a effectué un contrôle de son bras droit afin de l'entraver. L'intéressé s'est alors retourné et a agrippé le gendarme avec ses deux mains au niveau de la nuque et avec ses jambes au niveau des hanches, ce qui a entraîné leur chute. Au moment de heurter le sol, l'agent a ressenti une forte douleur aux genoux; il a d'ailleurs présenté des hématomes à cet endroit ainsi qu'à la hanche droite. En outre, sa paire de lunettes de soleil s'est brisée. Ce policier a ensuite asséné plusieurs frappes contrôlées à A._ afin qu'il le lâche et, avec l'aide d'un collègue, est parvenu à le dégager et à le menotter. A._ a continué à se montrer agressif et peu coopérant lors de son transfert à la gendarmerie.
B.d. Du 23 janvier 2018, date retenue dans sa dernière condamnation pour ce motif, au 16 août 2018, jour de son appréhension, A._ a fumé quotidiennement quatre à cinq joints de cannabis et consacré mensuellement entre 50 fr. et 60 fr. à cet effet.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 17 septembre 2019, en concluant, avec suite de frais et dépens, à sa réforme en ce sens qu'il est renoncé à ordonner son expulsion du territoire suisse et que seul un avertissement est prononcé.

Considérant en droit :
1.
Le recourant se plaint d'une constatation manifestement inexacte des faits pertinents.
1.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat. Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (<ref-ruling> consid. 1.1 p. 155 s. et les références citées).
1.2. Le recourant fait grief à la cour cantonale d'avoir retenu, d'une part, qu'il avait entamé des démarches pour renouveler son passeport turc et avait reçu pour ce motif la visite d'un agent consulaire en prison et, d'autre part, que s'il craignait de devoir retourner en Turquie, c'était en raison du service militaire qu'il devrait y effectuer (jugement entrepris, consid. 2.3.1 p. 21). Or, il ressortait de ses déclarations lors de l'audience d'appel qu'un agent consulaire de Turquie était venu le trouver en détention mais qu'il lui avait indiqué qu'il ne voulait pas renouveler son passeport turc. Il avait aussi déclaré ne pas vouloir retourner dans ce pays pour différentes raisons, soit non seulement parce qu'il ne voulait pas y faire son service militaire, mais aussi parce qu'il ne parlait pas bien la langue, qu'il craignait de ne pas réussir à s'intégrer, qu'il serait livré à lui-même et qu'il ne pourrait plus disposer de l'aide de sa mère dont il dépendait et, enfin, parce qu'il avait peur de la guerre (jugement entrepris, p. 3).
1.3. Il est vrai, comme le recourant le soutient, que la visite consulaire qu'il a reçue en tant que national détenu dans un pays étranger ne signifie pas nécessairement qu'il aurait effectué des démarches pour renouveler son passeport turc. Par ailleurs, le résumé que fait la cour cantonale des déclarations du recourant en audience d'appel ne reprend pas chacune des raisons invoquées par lui pour ne pas vouloir retourner en Turquie.
Cela étant, les inexactitudes que comporte l'état de fait cantonal concernent uniquement l'absence de volonté du recourant de retourner en Turquie en raison des difficultés qu'il y rencontrerait. Or, dans son examen de la clause de rigueur, la cour cantonale n'a pas manqué de relever que le recourant n'avait qu'une maîtrise rudimentaire de la langue turque et n'entretenait aucune relation avec son pays d'origine, de sorte que sa resocialisation dans son pays d'origine serait difficile et l'exposerait vraisemblablement à un cas de rigueur. Elle a considéré que l'expulsion pouvait néanmoins être ordonnée car elle ne violait pas le principe de proportionnalité, au regard de la faible intégration du recourant en Suisse et des intérêts publics présidant à son expulsion (cf. consid. 2 infra). Ainsi la correction de l'état de fait que sollicite le recourant ne porte pas sur les aspects qui ont fondé la décision d'expulsion de l'autorité précédente. Par conséquent, son grief serait ainsi sans influence sur l'issue du litige, de sorte qu'il n'y a pas lieu d'y donner suite (cf. <ref-law>).
2.
Le recourant reproche à la cour cantonale d'avoir ordonné son expulsion du territoire suisse. Il ne conteste pas avoir été condamné pour des infractions (séquestration qualifiée et tentative d'extorsion qualifiée) qui tombent sous le coup de l' <ref-law> (let. c et g), mais se prévaut de la clause de rigueur (<ref-law>) ainsi que des art. 8 CEDH et 13 Cst.
2.1. Selon l'<ref-law>, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
2.1.1. La clause de rigueur permet de garantir le principe de la proportionnalité (cf. art. 5 al. 2 Cst.; <ref-ruling> consid. 3.3.1 p. 340; arrêt 6B_690/2019 du 4 décembre 2019 consid. 3.4.2 destiné à la publication). Elle doit être appliquée de manière restrictive (<ref-ruling> consid. 3.3.1 p. 340; arrêt 6B_690/2019 précité consid. 3.4.2 destiné à la publication). Selon la jurisprudence du Tribunal fédéral, il convient de s'inspirer des critères énoncés à l'art. 31 de l'ordonnance du 24 octobre 2007 relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201 [<ref-ruling> consid. 3.3.2 p. 340 f.; arrêt 6B_690/2019 du 4 décembre 2019 consid. 3.4 destiné à la publication]). L'art. 31 al. 1 OASA prévoit qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. L'autorité doit tenir compte notamment de l'intégration du requérant selon les critères définis à l'art. 58a al. 1 de la loi fédérale sur les étrangers et l'intégration (LEI; RS 142.20), de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'Etat de provenance. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (<ref-ruling> consid. 3.3.2 p. 340 s.; arrêt 6B_1421/2019 du 12 février 2020 consid. 1.3.1). En règle générale, il convient d'admettre l'existence d'un cas de rigueur au sens de l'<ref-law> lorsque l'expulsion constituerait, pour l'intéressé, une ingérence d'une certaine importance dans son droit au respect de sa vie privée et familiale garanti par la Constitution fédérale (art. 13 Cst.) et par le droit international, en particulier l'art. 8 CEDH (arrêts 6B_1421/2019 précité consid. 1.3.1; 6B_1024/2019 du 29 janvier 2020 consid. 1.3.2).
2.1.2. Selon la jurisprudence, pour se prévaloir du respect au droit de sa vie privée au sens de l'art. 8 par. 1 CEDH, l'étranger doit établir l'existence de liens sociaux et professionnels spécialement intenses avec la Suisse, notablement supérieurs à ceux qui résultent d'une intégration ordinaire. Le Tribunal fédéral n'adopte pas une approche schématique qui consisterait à présumer, à partir d'une certaine durée de séjour en Suisse, que l'étranger y est enraciné et dispose de ce fait d'un droit de présence dans notre pays. Il procède bien plutôt à une pesée des intérêts en présence, en considérant la durée du séjour en Suisse comme un élément parmi d'autres et en n'accordant qu'un faible poids aux années passées en Suisse dans l'illégalité, en prison ou au bénéfice d'une simple tolérance (cf. <ref-ruling> consid. 4.3 p. 24; plus récemment arrêt 6B_1421/2019 précité consid. 1.3.1). Un séjour légal de dix années suppose en principe une bonne intégration de l'étranger (<ref-ruling> consid. 3.9 p. 277 s.).
Les relations familiales visées par l'art. 8 par. 1 CEDH sont avant tout celles qui concernent la famille dite nucléaire, soit celles qui existent entre époux ainsi qu'entre parents et enfants mineurs vivant en ménage commun (cf. <ref-ruling> consid. 6.1 p. 12; <ref-ruling> consid. 1.3.2 p. 146). La CourEDH a cependant admis dans un certain nombre d'affaires concernant de jeunes adultes qui n'avaient pas encore fondé leur propre famille que leurs liens avec leurs parents et d'autres membres de leur famille proche s'analysaient également en une " vie familiale " (Arrêt de la CourEDH Maslov c. Autriche du 23 juin 2008, requête n° 1638/03, § 62 et les références citées; Gonin/Bigler, Convention européenne des droits de l'homme (CEDH), Commentaire des articles 1 à 18 CEDH, 2018, n° 80; références citées dans l'arrêt 6B_925/2019 du 16 octobre 2019 consid. 1.3).
A supposer même que le recourant puisse se prévaloir d'un droit au respect de sa vie privée et/ou familiale au sens de l'art. 8 par. 1 CEDH, respectivement 13 Cst., son expulsion pourrait de toute manière être confirmée au regard de l'art. 8 par. 2 CEDH et 36 al. 3 Cst. (cf. consid. 2.3 infra).
2.1.3. Dans l'appréciation du cas de rigueur, l'art. 66a al. 2, deuxième phrase, CP impose expressément de prendre en considération la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
L'examen de la clause de rigueur doit être effectué dans chaque cas sur la base des critères d'intégration habituels (cf. <ref-ruling> consid. 3.3.2 p. 340 s.). La situation particulière des étrangers nés ou ayant grandi en Suisse est prise en compte en ce sens qu'une durée de séjour plus longue, associée à une bonne intégration - par exemple, en raison d'un parcours scolaire effectué en Suisse - doit généralement être considérée comme une indication importante de l'existence d'intérêts privés suffisamment forts et donc tendre à retenir une situation personnelle grave (1ère condition cumulative; cf. consid. 3.4.2). Lors de la pesée des intérêts qui devra éventuellement être effectuée par la suite (2ème condition cumulative), la personne concernée doit se voir accorder un intérêt privé plus important à rester en Suisse au fur et à mesure que la durée de sa présence augmente. A l'inverse, on peut partir du principe que le temps passé en Suisse est d'autant moins marquant que le séjour et la scolarité achevée en Suisse sont courts, de sorte que l'intérêt privé à rester en Suisse doit être considéré comme moins fort (arrêt 6B_690/2019 précité destiné à la publication consid. 3.4.4).
2.2. La cour cantonale a admis que l'expulsion du recourant le placerait dans une situation personnelle grave, mais elle a considéré que les intérêts publics présidant à son renvoi l'emportaient sur son intérêt privé à rester en Suisse. La seconde condition d'un cas de rigueur au sens de l'<ref-law> n'était donc pas remplie, de sorte qu'elle a ordonné l'expulsion du recourant.
2.3. Le recourant expose sa situation personnelle. Il n'élève toutefois aucun grief d'arbitraire dans l'établissement des faits, d'où il s'ensuit que ses allégués sont irrecevables sous la réserve qu'ils ne ressortent pas déjà de l'état de fait cantonal. ll n'y a pas non plus lieu de prendre en considération la présentation que le recourant livre de la situation en Turquie, aux abords de la frontière syrienne, en tant qu'elle s'écarte des faits constatés dans le jugement cantonal (cf. <ref-law>). Au demeurant, le recourant ne se réfère à aucune pièce du dossier et demeure très vague sur les dangers concrets qu'il encourrait en s'installant dans la région d'origine de son père, qui ne sont pas notoires en soi, de sorte qu'il ne démontre aucunement le caractère arbitraire de l'état de fait du jugement attaqué (cf. <ref-law>).
En l'occurrence, la cour cantonale a relevé que le recourant était né et avait grandi en Suisse, n'avait jamais vécu dans son pays d'origine et sa maîtrise de la langue turque paraissait des plus rudimentaires, celui-ci ayant précisé qu'il n'était allé en Turquie qu'une seule fois, en 2009, dans la famille de son père. De toute évidence, comme l'autorité précédente l'a retenu, sa resocialisation dans ce pays serait difficile.
En Suisse, le recourant dispose d'attaches familiales, à savoir son frère et sa mère, avec laquelle il vit et dont il dépend financièrement. Il pratique le football dans un club local mais pour le reste, son intégration est mauvaise. En effet, après avoir obtenu son certificat de fin d'école obligatoire, il n'a achevé aucune formation professionnelle et ses projets futurs sont très vagues. Au moment de son arrestation, il n'avait aucun emploi. Sa situation financière est obérée, le recourant ayant fait l'objet de nombreuses poursuites et de plusieurs actes de défaut de biens. La prolongation de son permis B a été suspendue et est actuellement en cours de réexamen. Ses perspectives de réinsertion en Suisse ne sont donc pas bonnes.
Les intérêts présidant à l'expulsion du recourant sont importants, compte tenu en premier lieu de la gravité des faits qui ont conduit à la présente condamnation. La cour cantonale a constaté que le recourant avait infligé à sa victime un traitement dégradant d'une cruauté qui choque. Le recourant a ainsi fait subir à G._ maints sévices et humiliations pendant des heures, et ce de manière purement gratuite. Par ailleurs, la peine privative de liberté à laquelle il a été condamné dépasse largement une année, ce qui aurait, cas échéant, pu permettre une révocation de l'autorisation de séjour ou d'établissement sur la base de l'art. 62 al. 1 let. b LEI, respectivement de l'art. 63 al. 1 let. a LEI (cf. <ref-ruling> consid. 2.1 p. 147, selon lequel constitue une "peine privative de liberté de longue durée" au sens de l'art. 62 al. 1 let. b LEtr [depuis le 1er janvier 2019: LEI] toute peine dépassant un an d'emprisonnement). En outre, l'autorité précédente a retenu l'existence d'un risque de réitération en raison d'une importante propension à la violence, attendu qu'il avait gravement récidivé après une condamnation à une peine privative de liberté infligée par le Tribunal des mineurs. Cette précédente condamnation portait notamment sur une infraction figurant dans le catalogue de l'<ref-law> (tentative d'incendie intentionnel), toutefois commise alors qu'il était mineur.
Le recourant se prévaut du suivi infirmier régulier dont il bénéficie en prison et dont il affirme qu'il lui permet de procéder à une introspection importante de ses comportements passés. Si cet effort est louable, le recourant n'établit toutefois pas qu'il permettrait d'entraîner une diminution sérieuse du risque de récidive d'actes violents.
A cela s'ajoute que son comportement en prison n'est pas exempt de reproches, puisqu'il a fait l'objet de sanctions disciplinaires, prononcées les 22 mai, 11 juin, 1er juillet et 16 août 2019, même si certains des faits étaient d'une gravité toute relative. A cet égard, le recourant fait valoir que dans une précédente affaire, le Tribunal fédéral avait considéré que le comportement agressif en prison ne suffisait pas à retenir que la sécurité publique était menacée (cf. <ref-ruling> consid. 3.4.2). Or le Tribunal fédéral était parvenu à ce résultat en procédant à une pondération globale de l'ensemble des éléments pertinents se rapportant à l'auteur, et non seulement en considérant les incidents intervenus en prison. Il n'en demeure pas moins qu'un comportement révélant que l'intéressé n'est pas capable de respecter le cadre fixé en détention constitue un élément défavorable. Dans le cas d'espèce, la cour cantonale a de surcroît constaté que le recourant était toujours très remonté contre les forces de l'ordre et se considérait comme une victime de la police.
En définitive, compte tenu de la gravité des infractions sanctionnées, du risque de récidive d'actes violents, de la médiocre intégration en Suisse et de l'absence de perspectives concrètes dans ce pays, l'intérêt public à l'expulsion du recourant l'emporte sur son intérêt privé à demeurer en Suisse. L'expulsion, ordonnée pour une durée de dix ans, s'avère conforme au principe de la proportionnalité découlant des art. 5 al. 2 Cst. et 8 par. 2 CEDH, étant précisé que le recourant n'élève aucun grief à l'encontre de la durée de la mesure. La seconde condition pour l'application de l'<ref-law> n'étant pas réalisée, la cour cantonale n'a pas violé le droit fédéral en ordonnant l'expulsion du recourant.
3.
Le recours doit être rejeté. Comme il était dénué de chances de succès, la demande d'assistance judiciaire doit être rejetée (<ref-law>). Le recourant, qui succombe, supportera les frais judiciaires (<ref-law>), dont le montant sera fixé en tenant compte de sa situation financière, laquelle n'apparaît pas favorable.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 13 mars 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy