list reverse

This commit is contained in:
rasbt 2014-04-13 19:44:19 -04:00
parent d4c466134d
commit 42f06f8252
2 changed files with 162 additions and 2 deletions

View File

@ -1,13 +1,20 @@
{ {
"metadata": { "metadata": {
"name": "", "name": "",
"signature": "sha256:c78a9ef71605847c90e18bf10abda603339de473905dc928bd17aacd1ae5bee9" "signature": "sha256:30bb811f79dc78fe63221c8960bb4237c811b94fdf197b6479709aff3244cb08"
}, },
"nbformat": 3, "nbformat": 3,
"nbformat_minor": 0, "nbformat_minor": 0,
"worksheets": [ "worksheets": [
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python benchmarks via `timeit`"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
@ -74,6 +81,8 @@
"cell_type": "code", "cell_type": "code",
"collapsed": false, "collapsed": false,
"input": [ "input": [
"import timeit\n",
"\n",
"def reverse_join(my_str):\n", "def reverse_join(my_str):\n",
" return ''.join(reversed(my_str))\n", " return ''.join(reversed(my_str))\n",
" \n", " \n",
@ -115,6 +124,77 @@
} }
], ],
"prompt_number": 13 "prompt_number": 13
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### List Reversing - `[::-1]` vs. `reverse()` vs. `reversed()`"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import timeit\n",
"\n",
"def reverse_func(my_list):\n",
" new_list = my_list[:]\n",
" new_list.reverse()\n",
" return new_list\n",
" \n",
"def reversed_func(my_list):\n",
" return list(reversed(my_list))\n",
"\n",
"def reverse_slizing(my_list):\n",
" return my_list[::-1]\n",
"\n",
"%timeit reverse_func([1,2,3,4,5])\n",
"%timeit reversed_func([1,2,3,4,5])\n",
"%timeit reverse_slizing([1,2,3,4,5])\n",
"\n",
"# Python 3.4.0\n",
"# MacOS X 10.9.2\n",
"# 2.4 GHz Intel Core Duo\n",
"# 8 GB 1067 Mhz DDR3\n",
"#"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1000000 loops, best of 3: 857 ns per loop\n",
"1000000 loops, best of 3: 1.78 \u00b5s per loop"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"1000000 loops, best of 3: 758 ns per loop"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
} }
], ],
"metadata": {} "metadata": {}

View File

@ -1,13 +1,20 @@
{ {
"metadata": { "metadata": {
"name": "", "name": "",
"signature": "sha256:c78a9ef71605847c90e18bf10abda603339de473905dc928bd17aacd1ae5bee9" "signature": "sha256:30bb811f79dc78fe63221c8960bb4237c811b94fdf197b6479709aff3244cb08"
}, },
"nbformat": 3, "nbformat": 3,
"nbformat_minor": 0, "nbformat_minor": 0,
"worksheets": [ "worksheets": [
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python benchmarks via `timeit`"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
@ -74,6 +81,8 @@
"cell_type": "code", "cell_type": "code",
"collapsed": false, "collapsed": false,
"input": [ "input": [
"import timeit\n",
"\n",
"def reverse_join(my_str):\n", "def reverse_join(my_str):\n",
" return ''.join(reversed(my_str))\n", " return ''.join(reversed(my_str))\n",
" \n", " \n",
@ -115,6 +124,77 @@
} }
], ],
"prompt_number": 13 "prompt_number": 13
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### List Reversing - `[::-1]` vs. `reverse()` vs. `reversed()`"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import timeit\n",
"\n",
"def reverse_func(my_list):\n",
" new_list = my_list[:]\n",
" new_list.reverse()\n",
" return new_list\n",
" \n",
"def reversed_func(my_list):\n",
" return list(reversed(my_list))\n",
"\n",
"def reverse_slizing(my_list):\n",
" return my_list[::-1]\n",
"\n",
"%timeit reverse_func([1,2,3,4,5])\n",
"%timeit reversed_func([1,2,3,4,5])\n",
"%timeit reverse_slizing([1,2,3,4,5])\n",
"\n",
"# Python 3.4.0\n",
"# MacOS X 10.9.2\n",
"# 2.4 GHz Intel Core Duo\n",
"# 8 GB 1067 Mhz DDR3\n",
"#"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1000000 loops, best of 3: 857 ns per loop\n",
"1000000 loops, best of 3: 1.78 \u00b5s per loop"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"1000000 loops, best of 3: 758 ns per loop"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
} }
], ],
"metadata": {} "metadata": {}