Задать вопрос
@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. один и тот же актер может сниматься в нескольких фильмах.
Как можно оптимизировать создание списка смежности или поиска актеров снимавшихся с указанным актером,поскольку программа не проходит по памяти ?
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽