улучшение кода цикла для django [duplicate]

Вы можете использовать WEBRTC, но, к сожалению, он не поддерживается всеми веб-браузерами. НИЖЕ ЛИНИЯ ДЛЯ ПОКАЗЫВАНИЯ, КОТОРЫЕ БРОУЗЕРЫ поддерживают его http://caniuse.com/stream

И эта ссылка дает вам представление о том, как вы можете получить к ней доступ (пример кода) , http://www.html5rocks.com/en/tutorials/getusermedia/intro/

6
задан Bhargav Rao 21 April 2016 в 15:11
поделиться

2 ответа

Вы сделали бы это, создав dict:

fruits = {k:[] for k in names}

Затем получите доступ к каждому из них (например, :) fruits['apple'] - вы не хотите идти по дороге от отдельных переменных!

29
ответ дан Jon Clements 15 August 2018 в 23:31
поделиться
  • 1
    +1, здесь лучше всего использовать структуру данных, такую ​​как словарь. – Gareth Latty 9 January 2013 в 18:17

Всегда используйте ответ Джона Клемента .


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

for name in names:
    globals().setdefault(name, [])
apple.append('red')
print(apple)  # prints ['red']

Вам нужно было заранее знать, что список содержит «яблоко» в порядке позже ссылаться на переменную «apple», после чего вы могли бы определить эту переменную как обычно. Поэтому на практике это не полезно. Учитывая, что ответ Джона также дает словарь, нет смысла использовать globals.

6
ответ дан Community 15 August 2018 в 23:31
поделиться
  • 1
    На самом деле я предпочитаю это решение больше, потому что он позволяет мне создавать списки, а не словарь. Поэтому я хотел бы спросить, почему лучше использовать методы @Jon Clements вместо этого? Большое вам спасибо! – user1962851 10 January 2013 в 12:10
  • 2
    @ user1962851 - globals() - почти словарь, содержащий глобальные переменные. Это решение может привести к нежелательному загрязнению глобального пространства имен и к переопределяющим существующим переменным. Если вы используете решение Джона, вы можете получить одни и те же списки, используя fruits['apple'] и тому подобное, поэтому для него не так много недостатков. – root 10 January 2013 в 12:22
  • 3
    Хорошо, спасибо вам за ваше объяснение. Тогда я собираюсь задать ответ Джона как принятый. – user1962851 10 January 2013 в 12:50
Другие вопросы по тегам:

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