用python字典中的六个库枚举

时间:2017-06-21 14:28:10

标签: python six iteritems

我可以像这样使用带有python字典的枚举:

// @flow

interface Animal {
  name: string,
  type: $Subtype<string>,
};

interface Cat extends Animal {
  type: 'CAT',
  fuzzy: boolean,
};

interface Dog extends Animal {
  type: 'DOG',
  adventurous: boolean,
};

function augmentAnimal<T: Animal>(
  animal: T,
  augmentation: $Shape<T>,
): T {
  return {
    ...animal,
    ...augmentation,
  };
}

const c: Cat = {
  type: 'CAT',
  name: 'Griffin',
  fuzzy: true
};

const d: Dog = {
  type: 'DOG',
  name: 'Echo',
  adventurous: true,
};


augmentAnimal(c, {name: 'hairless'})
augmentAnimal(c, {fuzzy: false})
augmentAnimal(c, {adventurous: false})  // Error
augmentAnimal(d, {adventurous: true})
augmentAnimal(d, {fuzzy: false})  // Error

如何使用enumerate和六个库中的iteritems函数?

1 个答案:

答案 0 :(得分:1)

six.iteritems等效my_dict.iteritems()six.iteritems(my_dict),因此:

for count, (key, value) in enumerate(six.iteritems(my_dict), 1):
    print key, value, count