|
1 | 1 | { |
2 | 2 | "metadata": { |
3 | 3 | "name": "", |
4 | | - "signature": "sha256:8dc4f91bc6a88e15ab0d25fac35b9a7645a7149b5ab4e1e15b2b372362e82ae2" |
| 4 | + "signature": "sha256:1dc4a14b00afc36bd728a4f8d00ea951e5c9376232218e2e5a36e653e875fbe5" |
5 | 5 | }, |
6 | 6 | "nbformat": 3, |
7 | 7 | "nbformat_minor": 0, |
|
891 | 891 | " d[e] += 1\n", |
892 | 892 | " return d\n", |
893 | 893 | "\n", |
| 894 | + "def add_element_get(elements):\n", |
| 895 | + " d = dict()\n", |
| 896 | + " for e in elements:\n", |
| 897 | + " d[e] = d.get(e, 1) + 1\n", |
| 898 | + " return d\n", |
| 899 | + "\n", |
| 900 | + "\n", |
894 | 901 | "random.seed(123)\n", |
895 | 902 | "\n", |
896 | 903 | "print('Results for 100 integers in range 1-10') \n", |
|
899 | 906 | "%timeit add_element_check2(rand_ints)\n", |
900 | 907 | "%timeit add_element_except(rand_ints)\n", |
901 | 908 | "%timeit add_element_defaultdict(rand_ints)\n", |
| 909 | + "%timeit add_element_get(rand_ints)\n", |
902 | 910 | "\n", |
903 | 911 | "print('\\nResults for 1000 integers in range 1-5') \n", |
904 | 912 | "rand_ints = [random.randrange(1, 5) for i in range(1000)]\n", |
905 | 913 | "%timeit add_element_check1(rand_ints)\n", |
906 | 914 | "%timeit add_element_check2(rand_ints)\n", |
907 | 915 | "%timeit add_element_except(rand_ints)\n", |
908 | 916 | "%timeit add_element_defaultdict(rand_ints)\n", |
| 917 | + "%timeit add_element_get(rand_ints)\n", |
909 | 918 | "\n", |
910 | 919 | "print('\\nResults for 1000 integers in range 1-1000') \n", |
911 | 920 | "rand_ints = [random.randrange(1, 1000) for i in range(1000)]\n", |
912 | 921 | "%timeit add_element_check1(rand_ints)\n", |
913 | 922 | "%timeit add_element_check2(rand_ints)\n", |
914 | 923 | "%timeit add_element_except(rand_ints)\n", |
915 | | - "%timeit add_element_defaultdict(rand_ints)" |
| 924 | + "%timeit add_element_defaultdict(rand_ints)\n", |
| 925 | + "%timeit add_element_get(rand_ints)" |
916 | 926 | ], |
917 | 927 | "language": "python", |
918 | 928 | "metadata": {}, |
|
922 | 932 | "stream": "stdout", |
923 | 933 | "text": [ |
924 | 934 | "Results for 100 integers in range 1-10\n", |
925 | | - "10000 loops, best of 3: 24.6 \u00b5s per loop" |
| 935 | + "10000 loops, best of 3: 28 \u00b5s per loop" |
926 | 936 | ] |
927 | 937 | }, |
928 | 938 | { |
|
938 | 948 | "stream": "stdout", |
939 | 949 | "text": [ |
940 | 950 | "\n", |
941 | | - "10000 loops, best of 3: 25.4 \u00b5s per loop" |
| 951 | + "10000 loops, best of 3: 26.5 \u00b5s per loop" |
| 952 | + ] |
| 953 | + }, |
| 954 | + { |
| 955 | + "output_type": "stream", |
| 956 | + "stream": "stdout", |
| 957 | + "text": [ |
| 958 | + "\n", |
| 959 | + "10000 loops, best of 3: 22.8 \u00b5s per loop" |
942 | 960 | ] |
943 | 961 | }, |
944 | 962 | { |
945 | 963 | "output_type": "stream", |
946 | 964 | "stream": "stdout", |
947 | 965 | "text": [ |
948 | 966 | "\n", |
949 | | - "10000 loops, best of 3: 23 \u00b5s per loop" |
| 967 | + "10000 loops, best of 3: 33.3 \u00b5s per loop" |
950 | 968 | ] |
951 | 969 | }, |
952 | 970 | { |
|
956 | 974 | "\n", |
957 | 975 | "\n", |
958 | 976 | "Results for 1000 integers in range 1-5\n", |
959 | | - "1000 loops, best of 3: 236 \u00b5s per loop" |
| 977 | + "1000 loops, best of 3: 242 \u00b5s per loop" |
960 | 978 | ] |
961 | 979 | }, |
962 | 980 | { |
963 | 981 | "output_type": "stream", |
964 | 982 | "stream": "stdout", |
965 | 983 | "text": [ |
966 | 984 | "\n", |
967 | | - "1000 loops, best of 3: 235 \u00b5s per loop" |
| 985 | + "1000 loops, best of 3: 239 \u00b5s per loop" |
968 | 986 | ] |
969 | 987 | }, |
970 | 988 | { |
971 | 989 | "output_type": "stream", |
972 | 990 | "stream": "stdout", |
973 | 991 | "text": [ |
974 | 992 | "\n", |
975 | | - "1000 loops, best of 3: 207 \u00b5s per loop" |
| 993 | + "1000 loops, best of 3: 203 \u00b5s per loop" |
976 | 994 | ] |
977 | 995 | }, |
978 | 996 | { |
979 | 997 | "output_type": "stream", |
980 | 998 | "stream": "stdout", |
981 | 999 | "text": [ |
982 | 1000 | "\n", |
983 | | - "10000 loops, best of 3: 177 \u00b5s per loop" |
| 1001 | + "10000 loops, best of 3: 184 \u00b5s per loop" |
| 1002 | + ] |
| 1003 | + }, |
| 1004 | + { |
| 1005 | + "output_type": "stream", |
| 1006 | + "stream": "stdout", |
| 1007 | + "text": [ |
| 1008 | + "\n", |
| 1009 | + "1000 loops, best of 3: 350 \u00b5s per loop" |
984 | 1010 | ] |
985 | 1011 | }, |
986 | 1012 | { |
|
990 | 1016 | "\n", |
991 | 1017 | "\n", |
992 | 1018 | "Results for 1000 integers in range 1-1000\n", |
993 | | - "1000 loops, best of 3: 268 \u00b5s per loop" |
| 1019 | + "1000 loops, best of 3: 262 \u00b5s per loop" |
| 1020 | + ] |
| 1021 | + }, |
| 1022 | + { |
| 1023 | + "output_type": "stream", |
| 1024 | + "stream": "stdout", |
| 1025 | + "text": [ |
| 1026 | + "\n", |
| 1027 | + "1000 loops, best of 3: 370 \u00b5s per loop" |
994 | 1028 | ] |
995 | 1029 | }, |
996 | 1030 | { |
997 | 1031 | "output_type": "stream", |
998 | 1032 | "stream": "stdout", |
999 | 1033 | "text": [ |
1000 | 1034 | "\n", |
1001 | | - "1000 loops, best of 3: 377 \u00b5s per loop" |
| 1035 | + "1000 loops, best of 3: 502 \u00b5s per loop" |
1002 | 1036 | ] |
1003 | 1037 | }, |
1004 | 1038 | { |
1005 | 1039 | "output_type": "stream", |
1006 | 1040 | "stream": "stdout", |
1007 | 1041 | "text": [ |
1008 | 1042 | "\n", |
1009 | | - "1000 loops, best of 3: 511 \u00b5s per loop" |
| 1043 | + "1000 loops, best of 3: 422 \u00b5s per loop" |
1010 | 1044 | ] |
1011 | 1045 | }, |
1012 | 1046 | { |
1013 | 1047 | "output_type": "stream", |
1014 | 1048 | "stream": "stdout", |
1015 | 1049 | "text": [ |
1016 | 1050 | "\n", |
1017 | | - "1000 loops, best of 3: 410 \u00b5s per loop" |
| 1051 | + "1000 loops, best of 3: 373 \u00b5s per loop" |
1018 | 1052 | ] |
1019 | 1053 | }, |
1020 | 1054 | { |
|
1025 | 1059 | ] |
1026 | 1060 | } |
1027 | 1061 | ], |
1028 | | - "prompt_number": 16 |
| 1062 | + "prompt_number": 25 |
| 1063 | + }, |
| 1064 | + { |
| 1065 | + "cell_type": "code", |
| 1066 | + "collapsed": false, |
| 1067 | + "input": [ |
| 1068 | + "def add_element_get(elements):\n", |
| 1069 | + " d = dict()\n", |
| 1070 | + " for e in elements:\n", |
| 1071 | + " d[e] = d.get(e, 1) + 1\n", |
| 1072 | + " return d\n", |
| 1073 | + "\n", |
| 1074 | + "print(add_element_get(rand_ints))" |
| 1075 | + ], |
| 1076 | + "language": "python", |
| 1077 | + "metadata": {}, |
| 1078 | + "outputs": [ |
| 1079 | + { |
| 1080 | + "output_type": "stream", |
| 1081 | + "stream": "stdout", |
| 1082 | + "text": [ |
| 1083 | + "{1: 17, 2: 10, 3: 11, 4: 7, 5: 9, 6: 14, 7: 13, 8: 13, 9: 15}\n" |
| 1084 | + ] |
| 1085 | + } |
| 1086 | + ], |
| 1087 | + "prompt_number": 24 |
1029 | 1088 | }, |
1030 | 1089 | { |
1031 | 1090 | "cell_type": "markdown", |
|
0 commit comments