Наборы Вида Python. DefaultDict в порядке убывания

Я не уверен, но я смотрел репозиторий GitHub здесь. Кажется, в строке 62 и от строки 87 до строки 99 он просто вызывает x.obj(i).

Он не выполняет никакой проверки, а просто вызывает его. Это приводит к java.util.NoSuchElementException, потому что пытается получить доступ без проверки. Я не видел ни одной версии, чтобы получить Option или даже выполнить проверку, если это значение существует.

Я бы посоветовал пройти через идиому Try / Success / Failure на scala

val tryAttr = Try{json("attributename").str}
tryAttr match {
  case Success(_) => doYourThing
  case Failure(t: NoSuchElementException) => DoSomethingElse
}

8
задан Stedy 6 February 2012 в 23:14
поделиться

2 ответа

iteritems is a method. You need parenthesis to call it: visits.iteritems().

As it stands now, you are passing the iteritems method itself to sorted which is why it is complaining that it can't iterate over a function or method.

12
ответ дан 5 December 2019 в 12:12
поделиться

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

sorted_keys = sorted(visits.keys(), reverse=True)
sorted_keys = visits.keys().sort(reverse=True)
2
ответ дан 5 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

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