Задать вопрос
@Rushpil

Оптимизировать программу?

Дан текстовый файл : https://github.com/taolin204/algorithm/blob/master... . Нужно вывести список смежности актеров. Например:
Ввод:
Brown, Bryan (I)
Вывод:
{'Fraser, Helen (I)', 'Lloyd, Yolanda', 'Brand, Gibby', 'Vargas, Gustavo (I)', 'Louis, Justin (I)', 'Lavelle, Susanne', 'Peterson, Ron', 'Venora, Diane', 'Mbandu, Konga', 'Fitz-Gerald, Lewis', 'Butel, Mitchell', 'Tenorio Gonzales, Claudia', 'Bennett, Grant (I)', 'Sheaves, Evan', 'Reynolds, Michael J.', 'Ramos Nishita, Mark', 'Smith, Chris (I)', 'Hines, Cheryl', 'Doumanian, John', 'Benevento, Nicholas', 'Coco, Salvatore', 'Espinosa, Jose', 'Paramore, Kiri', 'Dishy, Bob', 'Garcia, Jsu', 'Alexander, John (II)', 'Long, Tom (I)', 'Balmaseda, George', 'Skyler, Robb', 'Wachira, Waigwa', "Morgan, Walter 'Crash'", 'Mainprize, James', 'Ash, Adrienne', 'Shue, Elisabeth', 'Nozick, Bruce', 'Beck, Marvin', 'Shapiro, Theodore', 'Messing, Debra', 'Pyle, Missi', 'Boyden, Peter', "Duggan, Hal 'Saint'", 'Koch, Robert M.', 'Elliott, Jim (I)', 'Procanin, Michael', 'Gehman, Martha', 'Innes, Mick', 'Monk, Damian', 'Duckworth, Rob', 'Le Marquand, Steve', 'Bradford, Damian', 'Zaccone, Joseph', 'Baldwin, Alec', 'Alexandrov, Constantin', 'Silverman, Jeff (I)', 'Sherrard, Jeffrey', 'Kirk, Christina', 'Thompson, Jack (I)', 'Gershon, Gina', 'Saunders, Lew', 'Connell, Kelly', 'Miranda, Walter (I)', 'Ball, Vincent (I)', 'Shamberg, Michael (I)', 'Fenton, Stuart', 'Orman, Roscoe', 'Whitley, Kym', 'Pickens Jr., James', 'Drury, William (I)', 'Oka, Masi', 'Stashwick, Todd', 'Dean, Nathan', 'Crowley, Ed (I)', 'Reed, Maria', 'Crowley, David L.', 'Abbott, Paul (I)', 'Campbell, Gerald', 'Cisse, Halifa', 'Bateman, Bill (I)', 'Zissler, Jonno', 'Carradine, Sandra Will', 'Woodward, Edward', 'Waters, John (III)', 'Baron, Rabbi David', 'Mclean, Peter', 'Wilkinson, Mathew', 'Spence, Stuart', 'Stiller, Ben', 'Morse, Andrea', 'Noonan, Tom', 'Endo, Mari', 'Wong, Michael (V)', 'Mazerolle, Arlene', 'Quin, Don', 'Dean, Ron (I)', 'Meagher, Ray', 'Harris, Marykate', 'Radford, Elspeth', 'Cornish, Bridget', 'Willgrubs, Richard', 'Zalez, Rudy', 'Luckinbill, Laurence', 'Heatherington, Dianne', 'Graham, John (V)', 'Broeker, Jaap', 'Elliott, Peter (II)', 'Eckhouse, James', "Jongs, Monique 'Nikki'", 'Ortiz, Alfredo (I)', 'Jameson, Nick', 'Nicholls, Jon', 'Walls, Allen', 'Lynch, Kelly (I)', 'Shue, Andrew', "Sinclair, Charles 'Tower'", 'Douglass, Diane', 'Porter, Susie', 'McLoughlin, John (I)', 'Cordes, Jim', 'Hayes, Richard (II)', 'Smith, Kevin (XXXII)', 'Mullinar, Rod', 'Bachar, Carmit', 'Glen, Iain', 'Steele, Rob (I)', 'Blazeak, Paul', 'Furfaro, Adam', 'Moeaki, David', 'Foley, Ellen', 'DuMont, James', 'Erskine, Drummond', 'Amodeo, Daniel', 'Hernández, Gustavo', 'De Young, Cliff', 'Natalie, Lisa', 'Sari, Waddah', 'Lee, Michele (I)', 'Pfitzner, John', 'Pentangelo, Joe', 'Byrne, Rose', 'Mitchell, Chris (IV)', 'Wallace, Brian W.', 'Wilson, Trey', 'Owens, Chris (I)', 'Hart, Kevin (I)', 'Currer, Norman', 'Palermo, Vivian', 'Haywood, Chris (I)', 'Kalnins, Dale', 'Fujimoto, Mike', 'Ledger, Heath', 'Bernard, Hank', 'Adams, Mason', 'Ross, Cali', 'Knez, Bruno', 'West, Barbara', 'Bassett, Angela', 'Darcy-Smith, Kieran', 'Yeates, Haile', 'Erskine, Ria', 'Aniston, Jennifer', 'Horseman, Sylvia', 'Conna, Edward', 'Ehlers, Jerome', 'Ball, Ray (I)', 'Ross, Jeffrey (I)', 'Lansbury, David', 'Hunter, Ronald (I)', 'St. James, Jean', 'Forrow, Tony', 'Marshall, Rosalyn', 'Barron, Richard (IV)', 'Kemp, Jai', 'King, Anthony (III)', 'Kiefel, Russell', 'Benedict, Paul', 'Seidel, Nellie', 'Cruise, Tom', 'Repo-Martell, Liisa', 'Stanley, Kristine', 'Silpa, Mitch', 'Adair-Rios, Mark', 'Azaria, Hank', 'De Baer, Jean', 'Nelles, Kim', 'Ranelin, Phillip', 'Nduati, Peter', 'Harris, Julie (I)', 'Sperdakos, George', 'Tamras, Ator', 'Care, Eugenia', 'Beagle, E. Hampton', 'Darling, Jarrah', 'Cuthbertson, Iain', 'Suter, Glen', 'Lovett, Alan', 'Acres, Mary', 'Bamman, Gerry', 'McHale, Christopher', 'Livingston, Richard (I)', 'Hunter, Andrew (I)', 'Assad, Richard', 'Rodger, Ron', 'Bell, Wayne (I)', 'Donley, Robert', 'Thorn, Richard (I)', 'Kodisch, George', 'Corcoran, Imelda', 'Osborn, Peter', 'Weaver, Sigourney', 'Drayton, Leslie', 'Babchak, Jim', 'De La Cruz, Marco', 'Cross, Ryan (I)', 'Hoffman, Philip Seymour', 'Grifasi, Joe', 'Maguire, Ellen', 'Iannicelli, Ray', 'Wright, Tim (III)', 'Donovan, Terence (I)', 'Barger, Christine', 'Walton, Laurie (I)', 'Savakkis, Poppy', 'Friedman, Bernie', 'Phillips, Jacquy', 'Staunton, Brian', 'Pastore, Garry', 'Dick, Judy', 'Crater, Rich', 'Whitman, Parker', 'Dennehy, Brian', "O'Neill, Maggie (I)", 'Masten, Gordon', 'Baker, Gregg (I)', "D'Amato, Paul (I)", 'DeGuzman, Jossie', 'Miluwi, John Omirah', 'Vidler, Steven', 'Gallin, Tim', 'Block, Larry (I)', 'McGregor, Ken (I)', 'Jones, Lynden', 'Gibbons, Leroy', 'Orbach, Jerry', 'Wain, David', 'Wynne, Avril', 'Henderson, Dick (II)', 'Neilly, Vernon', 'Hernandez, Gustavo', 'Cassell, Alan (I)', 'Wilson, Frank (II)', 'Bean, Reathel', 'McClorey, Mariel', 'Parrott, Tomasina', 'Fischetti, Michael', 'Cheshire, Denise', "Dowd, M'el", "O'Sullivan, Moya", "Harvey, Rupert 'Ojiji'", 'St. Michael, Jody', 'Webb, Jim (II)', 'Gray, Ian (I)', 'Blair, Toni', 'Greenberg, Robert (II)', "Walsh, Eric 'Babyface'", 'Mann, Trevor (I)', 'Silverstein, Stuart', "Tingwell, Charles 'Bud'", 'Friedlander, Judah', 'Marriott, Anjulie', 'Lovelett, Jim', 'Faulk, Alison', 'Hoyos, Antonio', 'Field, David (I)', 'Hansraj, Luther', 'Curry, Christopher (I)', 'Young, Warwick', 'Banes, Lisa', 'Praed, Brett', 'Chant, David', 'Newman, Jack (II)', 'Tarnawski, Katya', 'Stack, Patrick', 'Hohn, Amy', 'Wasserman, Allan', 'Aaron, Caroline', 'Muncu, Adam', 'Alperin, Harvey J.'}

Вот сам код:
act = dict()
with open(r"C:\Users\Максим\films\movies.txt", encoding='utf-8') as file:
    for l in file:
        s = l.strip().split("/")[1:]
        n = len(s)
        for i in range(n):
            if s[i % n] in act:
                act[s[i % n]].update({s[(j + i) % n] for j in range(1, n)})
            else:
                act[s[i % n]] = {s[(j + i) % n] for j in range(1, n)}
print(act['имя актера'])

P.S. один и тот же актер может сниматься в нескольких фильмах.
Как можно оптимизировать создание списка смежности или поиска актеров снимавшихся с указанным актером,поскольку программа не проходит по памяти ?
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы