C # , Scala, Haskell, Lisp e Python têm o mesmo zipcomportamento: se uma coleção for maior, a cauda será ignorada silenciosamente.
Também poderia ser uma exceção, mas não ouvi nenhum idioma usando essa abordagem.
Isso me intriga. Alguém sabe o motivo pelo qual zipé projetado dessa maneira? Eu acho que para novos idiomas, isso é feito porque outros idiomas fazem dessa maneira. Mas qual foi o principal motivo?
Estou fazendo aqui uma pergunta factual e histórica, não se alguém gosta, ou se é uma abordagem boa ou ruim.
Atualização : se me perguntassem o que fazer, eu diria - lance uma exceção, de maneira semelhante à indexação de uma matriz (apesar de linguagens "antigas" fazerem todo tipo de mágica, como lidar com índices fora dos limites, UB, expandir matriz, etc).
zipWithIndexfornecimento de gerador de números naturais. Agora, a peça faltando apenas de informação - o que era ele o motivo? :-) (btw. por favor, repense seu comentário como resposta, obrigado).