Я нашел более простое решение этой проблемы, которое также изменило сгенерированный импорт, например com.test.testpackagechange.R
, и заняло около минуты.
Ваш первый шаг - открыть Android Studio и открыть окно замены всех (Mac: cmd + shift + R, Windows, я предполагаю: ctrl + shift + R). Введите имя вашего старого пакета и тот, что ниже вашего нового имени пакета. Нажмите Найти. Это может занять некоторое время, поскольку он также просматривает созданные элементы. Если у него более 1000 просмотров, просто нажмите «Продолжить».
После этого нажмите «Заменить все», чтобы заменить старое имя пакета новым.
Теперь закройте Android Studio и перейдите в Finder на Mac или Windows Explorer в Windows. Измените имя папки на новое имя пакета, например:
Теперь снова откройте Android Studio. Gradle синхронизируется, и имя вашего пакета должно быть изменено на новое.
Я нашел, что это самый простой и тот, который охватывает все области, такие как сгенерированные файлы.
используйте Понимания Набора {x для x в l2} или установите (l2), который будет установлен, затем используйте Понимания Списка для получения списка
l2set = set(l2)
l3 = [x for x in l1 if x not in l2set]
код эталонного тестирования:
import time
l1 = list(range(1000*10 * 3))
l2 = list(range(1000*10 * 2))
l2set = {x for x in l2}
tic = time.time()
l3 = [x for x in l1 if x not in l2set]
toc = time.time()
diffset = toc-tic
print(diffset)
tic = time.time()
l3 = [x for x in l1 if x not in l2]
toc = time.time()
difflist = toc-tic
print(difflist)
print("speedup %fx"%(difflist/diffset))
результат эталонного тестирования:
0.0015058517456054688
3.968189239501953
speedup 2635.179227x