Flask Python, как добавить словари с похожими ключами в список без дублирования [дубликат]

Сначала проверьте ваше соединение.

Затем, если вы хотите получить точное значение из базы данных, тогда вы должны написать:

$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName =`$usernam`");

Или вы хотите получить LIKE, то вы должны написать:

$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '%$username%'");
21
задан Acoop 6 November 2015 в 05:17
поделиться

4 ответа

Вам нужно добавить копию , иначе вы просто добавляете ссылки на один и тот же словарь снова и снова:

yourlist.append(yourdict.copy())

Я использовал yourdict и yourlist вместо dict и list; вы не хотите маскировать встроенные типы.

38
ответ дан Martijn Pieters 5 September 2018 в 11:22
поделиться

Когда вы создаете словарь adict за пределами цикла, вы добавляете тот же самый dict в свой список alist. Это означает, что все копии указывают на один и тот же словарь, и вы получаете последнее значение {1:99} каждый раз. Просто создайте каждый словарь внутри цикла, и теперь у вас есть 100 разных словарей.

alist = []
for x in range(100):
    adict = {1:x}
    alist.append(adict)
print(alist)
4
ответ дан chapelo 5 September 2018 в 11:22
поделиться

Просто поставьте dict = {} внутри цикла.

>>> dict = {}
>>> list = []
>>> for x in range(0, 100):
       dict[1] = x
       list.append(dict)
       dict = {}

>>> print list
3
ответ дан fragilewindows 5 September 2018 в 11:22
поделиться

Вы также можете использовать zip и понять список, чтобы делать то, что вам нужно.

Если вы хотите, чтобы значения dict начинались при одном использовании range(1,100)

l = [dict(zip([1],[x])) for x in range(1,100)]
2
ответ дан Padraic Cunningham 5 September 2018 в 11:22
поделиться
Другие вопросы по тегам:

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