Найти - Пользователи
Полная версия: dict(zip(list1,list2) возвращает словарь с длиной не равной list1 list2
Начало » Python для новичков » dict(zip(list1,list2) возвращает словарь с длиной не равной list1 list2
1
lindsay
сабж.
код:
def mimic_dict(filename):
  f = open(filename)
  k = []
  v = []
  d = {}
  for s in f:
      k += s.strip().split()
  klen = len(k)
  def init_lst(lst, cnt):
      while cnt > 0:
          lst.append([])
          cnt -= 1
      return lst
  d = dict(zip(k, init_lst(v, klen)))
  for w in k:
     nwi = k.index(w)+1
     if nwi != klen:
         d[w].append(k[nwi])
  return
где len(k) = len(v), что видно из функции initlst.
в частности их длина 29к+, а словарь выходит длиной 4950
Shaman
Это нормально
>>> dict([(1,2),(1,3),(1,4)])
{1: 4}
>>> 
lindsay
понятно, как это я сам не понял сразу.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB