Commit 4e9afdc
committed
Generalize map() to work with iterators.
NEEDS DOC CHANGES.
Possibly contentious: The first time s.next() yields StopIteration (for
a given map argument s) is the last time map() *tries* s.next(). That
is, if other sequence args are longer, s will never again contribute
anything but None values to the result, even if trying s.next() again
could yield another result. This is the same behavior map() used to have
wrt IndexError, so it's the only way to be wholly backward-compatible.
I'm not a fan of letting StopIteration mean "try again later" anyway.1 parent 6aebded commit 4e9afdc
3 files changed
Lines changed: 104 additions & 66 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
354 | 389 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
936 | 936 | | |
937 | 937 | | |
938 | 938 | | |
939 | | - | |
940 | | - | |
941 | | - | |
| 939 | + | |
| 940 | + | |
942 | 941 | | |
943 | 942 | | |
944 | 943 | | |
| |||
961 | 960 | | |
962 | 961 | | |
963 | 962 | | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
964 | 966 | | |
965 | 967 | | |
966 | | - | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
967 | 973 | | |
968 | 974 | | |
969 | | - | |
970 | | - | |
971 | | - | |
| 975 | + | |
| 976 | + | |
972 | 977 | | |
973 | | - | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
974 | 981 | | |
975 | | - | |
976 | 982 | | |
977 | | - | |
978 | | - | |
979 | | - | |
980 | | - | |
981 | | - | |
982 | | - | |
983 | | - | |
984 | | - | |
985 | | - | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
986 | 987 | | |
987 | | - | |
| 988 | + | |
988 | 989 | | |
989 | | - | |
990 | 990 | | |
991 | 991 | | |
992 | 992 | | |
993 | 993 | | |
994 | 994 | | |
995 | | - | |
996 | | - | |
997 | | - | |
998 | | - | |
999 | | - | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
1000 | 1003 | | |
1001 | | - | |
| 1004 | + | |
1002 | 1005 | | |
1003 | 1006 | | |
1004 | 1007 | | |
1005 | 1008 | | |
| 1009 | + | |
1006 | 1010 | | |
1007 | 1011 | | |
1008 | 1012 | | |
1009 | | - | |
| 1013 | + | |
1010 | 1014 | | |
1011 | 1015 | | |
1012 | | - | |
| 1016 | + | |
1013 | 1017 | | |
1014 | 1018 | | |
1015 | 1019 | | |
1016 | | - | |
1017 | | - | |
1018 | | - | |
1019 | | - | |
| 1020 | + | |
| 1021 | + | |
1020 | 1022 | | |
1021 | 1023 | | |
1022 | | - | |
| 1024 | + | |
1023 | 1025 | | |
1024 | 1026 | | |
1025 | 1027 | | |
1026 | 1028 | | |
1027 | | - | |
1028 | | - | |
1029 | | - | |
1030 | | - | |
1031 | | - | |
1032 | | - | |
1033 | | - | |
1034 | | - | |
1035 | | - | |
1036 | | - | |
1037 | | - | |
1038 | | - | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
1039 | 1045 | | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
1040 | 1049 | | |
1041 | | - | |
1042 | | - | |
1043 | 1050 | | |
1044 | 1051 | | |
1045 | | - | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
1046 | 1055 | | |
1047 | | - | |
1048 | | - | |
1049 | | - | |
1050 | | - | |
1051 | | - | |
1052 | | - | |
1053 | | - | |
1054 | | - | |
1055 | | - | |
1056 | 1056 | | |
1057 | 1057 | | |
1058 | 1058 | | |
1059 | 1059 | | |
1060 | 1060 | | |
1061 | | - | |
| 1061 | + | |
1062 | 1062 | | |
1063 | 1063 | | |
1064 | 1064 | | |
| |||
1077 | 1077 | | |
1078 | 1078 | | |
1079 | 1079 | | |
1080 | | - | |
1081 | | - | |
1082 | | - | |
1083 | | - | |
| 1080 | + | |
| 1081 | + | |
1084 | 1082 | | |
1085 | 1083 | | |
1086 | 1084 | | |
1087 | 1085 | | |
1088 | 1086 | | |
1089 | | - | |
1090 | | - | |
| 1087 | + | |
1091 | 1088 | | |
1092 | 1089 | | |
1093 | 1090 | | |
1094 | 1091 | | |
1095 | | - | |
1096 | | - | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
1097 | 1099 | | |
1098 | 1100 | | |
1099 | 1101 | | |
| |||
0 commit comments