Контроллер PS3 на Sixad отключает Broadcom Bluetooth

Вот решение, которое Вы ищете:

>>> foos = [1.0, 2.0, 3.0, 4.0, 5.0]
>>> bars = [1, 2, 3]
>>> [(x, bars) for x in foos]
[(1.0, [1, 2, 3]), (2.0, [1, 2, 3]), (3.0, [1, 2, 3]), (4.0, [1, 2, 3]), (5.0, [
1, 2, 3])]

я рекомендовал бы использовать понимание списка ([(x, bars) for x in foos] часть) по использованию карты, поскольку это избегает издержек вызова функции на каждом повторении (который может быть очень значительным). Если Вы просто соберетесь использовать его в для цикла, то Вы получите лучшие скорости при помощи понимания генератора:

>>> y = ((x, bars) for x in foos)
>>> for z in y:
...     print z
...
(1.0, [1, 2, 3])
(2.0, [1, 2, 3])
(3.0, [1, 2, 3])
(4.0, [1, 2, 3])
(5.0, [1, 2, 3])

различие - то, что понимание генератора , лениво загрузился .

ОБНОВЛЕНИЕ В ответ на этот комментарий:

, Конечно, Вы знаете, что Вы не копируете панели, все записи являются тем же списком панелей. Таким образом, при изменении кого-либо из них (включая исходные панели), Вы изменяете всех их.

я предполагаю, что это - актуальный вопрос. Существует два решения этого, что я могу думать. Самое эффективное является, вероятно, чем-то вроде этого:

tbars = tuple(bars)
[(x, tbars) for x in foos]

, Так как кортежи неизменны, это будет препятствовать тому, чтобы панели были изменены через результаты этого понимания списка (или понимание генератора, если Вы пойдете тем путем). Если действительно необходимо изменить каждый из результатов, можно сделать это:

from copy import copy
[(x, copy(bars)) for x in foos]

Однако это может быть немного дорого и с точки зрения использования памяти и в скорости, таким образом, я рекомендовал бы против него, если Вы действительно не должны добавлять к каждому из них.

1
задан 20.04.2020, 10:58

3 ответа

Sixad -r восстановит обычный Bluetooth.

2
ответ дан 20.04.2020, 10:59
  • 1
    Это - корректный ответ при установке sixad для запущений автоматически. Можно переключить его назад на использование sixad как сервис Bluetooth с ' sixad-s' – Community 20.04.2020, 10:59

Кажется, что разрешение /usr/sbin/bluetoothd изменилось, поэтому вы можете сделать:

sudo chmod +x /usr/sbin/bluetoothd
sudo service bluetoothd restart
1
ответ дан 20.04.2020, 11:00

Моя проблема заключалась в том, что у меня была включена опция sixad --boot-yes. После отключения (--boot-no), перезагрузки и ручного запуска sixad все снова заработало нормально.

0
ответ дан 20.04.2020, 11:00

Теги

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