我可以像这样使用带有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函数?
答案 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