mirror of
https://github.com/davidhalter/jedi.git
synced 2026-05-25 01:38:36 +08:00
Dicts should be iterated by its keys (__iter__).
This commit is contained in:
@@ -307,8 +307,13 @@ class Array(IterableWrapper, ArrayMixin):
|
|||||||
While values returns the possible values for any array field, this
|
While values returns the possible values for any array field, this
|
||||||
function returns the value for a certain index.
|
function returns the value for a certain index.
|
||||||
"""
|
"""
|
||||||
values = self._values()
|
if self.type == 'dict':
|
||||||
for value in values:
|
# Get keys.
|
||||||
|
iterate = set(k for k, v in self._items())
|
||||||
|
else:
|
||||||
|
iterate = self._items()
|
||||||
|
|
||||||
|
for value in iterate:
|
||||||
yield self._evaluator.eval_element(value)
|
yield self._evaluator.eval_element(value)
|
||||||
|
|
||||||
def _values(self):
|
def _values(self):
|
||||||
@@ -480,10 +485,6 @@ def py__iter__(evaluator, types):
|
|||||||
yield result
|
yield result
|
||||||
|
|
||||||
|
|
||||||
def py__iter__types(evaluator, types):
|
|
||||||
return unite(py__iter__(evaluator, types))
|
|
||||||
|
|
||||||
|
|
||||||
def get_iterator_types(evaluator, element):
|
def get_iterator_types(evaluator, element):
|
||||||
"""Returns the types of any iterator (arrays, yields, __iter__, etc)."""
|
"""Returns the types of any iterator (arrays, yields, __iter__, etc)."""
|
||||||
iterators = []
|
iterators = []
|
||||||
|
|||||||
@@ -234,6 +234,11 @@ dic = {str(key): ''}
|
|||||||
#? str()
|
#? str()
|
||||||
dic['']
|
dic['']
|
||||||
|
|
||||||
|
|
||||||
|
for x in {1: 3.0, '': 1j}:
|
||||||
|
#? int() str()
|
||||||
|
x
|
||||||
|
|
||||||
# -----------------
|
# -----------------
|
||||||
# with variable as index
|
# with variable as index
|
||||||
# -----------------
|
# -----------------
|
||||||
|
|||||||
Reference in New Issue
Block a user