+{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"2.6.ipynb","version":"0.3.2","provenance":[]},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"}},"cells":[{"metadata":{"id":"2R97ADiFQ0Qq","colab_type":"text"},"cell_type":"markdown","source":["# Strings"]},{"metadata":{"id":"eVUSlgdsQ0Qs","colab_type":"text"},"cell_type":"markdown","source":[" A string is a sequence of characters.\n","\n"," Computers do not deal with characters, they deal with numbers (binary). Even though you may see characters on your screen, internally it is stored and manipulated as a combination of 0's and 1's.\n","\n"," This conversion of character to a number is called encoding, and the reverse process is decoding. ASCII and Unicode are some of the popular encoding used.\n","\n"," In Python, string is a sequence of Unicode character."]},{"metadata":{"id":"G_fSxHayQ0Qu","colab_type":"text"},"cell_type":"markdown","source":["For more details about unicode \n","\n","https://docs.python.org/3.3/howto/unicode.html"]},{"metadata":{"id":"d2ZdcRphQ0Qv","colab_type":"text"},"cell_type":"markdown","source":["# How to create a string?"]},{"metadata":{"id":"kVww6WnaQ0Qw","colab_type":"text"},"cell_type":"markdown","source":["Strings can be created by enclosing characters inside a single quote or double quotes. \n","\n","Even triple quotes can be used in Python but generally used to represent multiline strings and docstrings.\n"]},{"metadata":{"id":"8OM3IOK2Q0Qy","colab_type":"code","colab":{},"outputId":"01582439-98f6-42aa-814d-9b6fc38ebafd"},"cell_type":"code","source":["myString = 'Hello'\n","\n","print(myString)\n","\n","\n","myString = \"Hello\"\n","print(myString)\n","\n","\n","myString = '''Hello'''\n","print(myString)"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Hello\n","Hello\n","Hello\n"],"name":"stdout"}]},{"metadata":{"id":"8yQfoUnGQ0Q4","colab_type":"text"},"cell_type":"markdown","source":["# How to access characters in a string?"]},{"metadata":{"id":"lj884ZrtQ0Q6","colab_type":"text"},"cell_type":"markdown","source":["We can access individual characters using indexing and a range of characters using slicing.\n","\n","Index starts from 0. \n","\n","Trying to access a character out of index range will raise an IndexError. \n","\n","The index must be an integer. We can't use float or other types, this will result into TypeError.\n","\n","Python allows negative indexing for its sequences."]},{"metadata":{"id":"dECRrHU9Q0Q6","colab_type":"code","colab":{},"outputId":"53102267-40e2-4cfd-aec2-e5a13050778b"},"cell_type":"code","source":["myString = \"Hello\"\n","\n","#print first Character\n","print(myString[0])\n","\n","#print last character using negative indexing\n","print(myString[-1])\n","\n","#slicing 2nd to 5th character\n","print(myString[2:5])"],"execution_count":0,"outputs":[{"output_type":"stream","text":["H\n","o\n","llo\n"],"name":"stdout"}]},{"metadata":{"id":"rYjjmAwVQ0RA","colab_type":"text"},"cell_type":"markdown","source":["If we try to access index out of the range or use decimal number, we will get errors."]},{"metadata":{"id":"sDdAkqPOQ0RB","colab_type":"code","colab":{},"outputId":"62af85cf-1cd5-4cdb-9d70-85c9e3a310ef"},"cell_type":"code","source":["print(myString[15])"],"execution_count":0,"outputs":[{"output_type":"error","ename":"IndexError","evalue":"string index out of range","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)","\u001b[0;32m<ipython-input-2-78353fed94bc>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmyString\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m15\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;31mIndexError\u001b[0m: string index out of range"]}]},{"metadata":{"id":"df79qTM1Q0RF","colab_type":"code","colab":{},"outputId":"fa826bc9-01bf-47d9-9aef-8a2d283e49ae"},"cell_type":"code","source":["print(myString[1.5])"],"execution_count":0,"outputs":[{"output_type":"error","ename":"TypeError","evalue":"string indices must be integers","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)","\u001b[0;32m<ipython-input-3-d32f87fd1591>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmyString\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1.5\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;31mTypeError\u001b[0m: string indices must be integers"]}]},{"metadata":{"id":"l24m79F7Q0RI","colab_type":"text"},"cell_type":"markdown","source":["# How to change or delete a string ?"]},{"metadata":{"id":"82PqjvORQ0RK","colab_type":"text"},"cell_type":"markdown","source":["Strings are immutable. This means that elements of a string cannot be changed once it has been assigned. \n","\n","We can simply reassign different strings to the same name."]},{"metadata":{"id":"iV3SYntmQ0RL","colab_type":"code","colab":{},"outputId":"ad24277c-3aee-442d-8e61-eab288303ec8"},"cell_type":"code","source":["myString = \"Hello\"\n","myString[4] = 's' # strings are immutable"],"execution_count":0,"outputs":[{"output_type":"error","ename":"TypeError","evalue":"'str' object does not support item assignment","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)","\u001b[0;32m<ipython-input-6-d63a28c2a378>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mmyString\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"Hello\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mmyString\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m's'\u001b[0m \u001b[0;31m# strings are immutable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;31mTypeError\u001b[0m: 'str' object does not support item assignment"]}]},{"metadata":{"id":"aMWgpS3pQ0RP","colab_type":"text"},"cell_type":"markdown","source":["We cannot delete or remove characters from a string. But deleting the string entirely is possible using the keyword del."]},{"metadata":{"id":"k43jqNSwQ0RQ","colab_type":"code","colab":{}},"cell_type":"code","source":["del myString # delete complete string"],"execution_count":0,"outputs":[]},{"metadata":{"id":"3gpZMAFtQ0RT","colab_type":"code","colab":{},"outputId":"1d4f5a0d-45e9-4a40-dab8-2419a46cd293"},"cell_type":"code","source":["print(myString)"],"execution_count":0,"outputs":[{"output_type":"error","ename":"NameError","evalue":"name 'myString' is not defined","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)","\u001b[0;32m<ipython-input-8-60c083ddb862>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmyString\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;31mNameError\u001b[0m: name 'myString' is not defined"]}]},{"metadata":{"id":"_I6JAqk7Q0RX","colab_type":"text"},"cell_type":"markdown","source":["# String Operations"]},{"metadata":{"id":"AdXL8ZfrQ0RY","colab_type":"text"},"cell_type":"markdown","source":["# Concatenation"]},{"metadata":{"id":"UEqPy2mBQ0Ra","colab_type":"text"},"cell_type":"markdown","source":["Joining of two or more strings into a single one is called concatenation.\n","\n","The + operator does this in Python. Simply writing two string literals together also concatenates them.\n","\n","The * operator can be used to repeat the string for a given number of times."]},{"metadata":{"id":"I02mfOxIQ0Rb","colab_type":"code","colab":{},"outputId":"4f2a2f69-d794-494e-c911-ac9bbcf7905d"},"cell_type":"code","source":["s1 = \"Hello \"\n","s2 = \"Satish\"\n","\n","#concatenation of 2 strings\n","print(s1 + s2)\n","\n","#repeat string n times\n","print(s1 * 3)"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Hello Satish\n","Hello Hello Hello \n"],"name":"stdout"}]},{"metadata":{"id":"JUHt8GFjQ0Rf","colab_type":"text"},"cell_type":"markdown","source":["# Iterating Through String"]},{"metadata":{"id":"jDRQiFQVQ0Rg","colab_type":"code","colab":{},"outputId":"f1e1c6a6-612b-41e1-db98-bbb5313958d2"},"cell_type":"code","source":["count = 0\n","for l in \"Hello World\":\n"," if l == 'o':\n"," count += 1\n","print(count, ' letters found')"],"execution_count":0,"outputs":[{"output_type":"stream","text":["2 letters found\n"],"name":"stdout"}]},{"metadata":{"id":"HJ_EXB0sQ0Rk","colab_type":"text"},"cell_type":"markdown","source":["# String Membership Test"]},{"metadata":{"id":"YCOI93eMQ0Rm","colab_type":"code","colab":{},"outputId":"7f106a6e-9e7e-4583-a23c-7cfc5483d294"},"cell_type":"code","source":["print('l' in 'Hello World') #in operator to test membership"],"execution_count":0,"outputs":[{"output_type":"stream","text":["True\n"],"name":"stdout"}]},{"metadata":{"id":"v-Gc3e9pQ0Ru","colab_type":"code","colab":{},"outputId":"704345a3-9ebc-4554-a983-e8a76a3b8024"},"cell_type":"code","source":["print('or' in 'Hello World')"],"execution_count":0,"outputs":[{"output_type":"stream","text":["True\n"],"name":"stdout"}]},{"metadata":{"id":"kWW3wSRzQ0Rz","colab_type":"text"},"cell_type":"markdown","source":["# String Methods"]},{"metadata":{"id":"1Us5mMCkQ0R0","colab_type":"text"},"cell_type":"markdown","source":[" Some of the commonly used methods are lower(), upper(), join(), split(), find(), replace() etc"]},{"metadata":{"id":"SkMrD20MQ0R3","colab_type":"code","colab":{},"outputId":"5d60d748-6ca0-44ba-87b3-92f868e7c754"},"cell_type":"code","source":["\"Hello\".lower()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'hello'"]},"metadata":{"tags":[]},"execution_count":14}]},{"metadata":{"id":"nz3r0uJiQ0R7","colab_type":"code","colab":{},"outputId":"0050d3bf-c665-4b21-8208-6b60c1c25d2e"},"cell_type":"code","source":["\"Hello\".upper()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'HELLO'"]},"metadata":{"tags":[]},"execution_count":15}]},{"metadata":{"id":"wY5zUXlnQ0R_","colab_type":"code","colab":{},"outputId":"ab0de61c-dc47-4cc4-c898-4d297eb3a0a0"},"cell_type":"code","source":["\"This will split all words in a list\".split()"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["['This', 'will', 'split', 'all', 'words', 'in', 'a', 'list']"]},"metadata":{"tags":[]},"execution_count":16}]},{"metadata":{"id":"y8DCwXIBQ0SC","colab_type":"code","colab":{},"outputId":"b57a1fc4-7191-4071-971f-acef6617928f"},"cell_type":"code","source":["' '.join(['This', 'will', 'split', 'all', 'words', 'in', 'a', 'list'])"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'This will split all words in a list'"]},"metadata":{"tags":[]},"execution_count":26}]},{"metadata":{"id":"Rp2Kj-qkQ0SF","colab_type":"code","colab":{},"outputId":"390b72be-bd82-4903-bc08-285f87faa4c0"},"cell_type":"code","source":["\"Good Morning\".find(\"Mo\")"],"execution_count":0,"outputs":[{"output_type":"execute_result","data":{"text/plain":["5"]},"metadata":{"tags":[]},"execution_count":18}]},{"metadata":{"id":"GWLYw7alQ0SI","colab_type":"code","colab":{},"outputId":"e842a03d-1836-460e-c5e3-a3cf80984803"},"cell_type":"code","source":["s1 = \"Bad morning\"\n","\n","s2 = s1.replace(\"Bad\", \"Good\")\n","\n","print(s1)\n","print(s2)"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Bad morning\n","Good morning\n"],"name":"stdout"}]},{"metadata":{"id":"i_H-coiDQ0SL","colab_type":"text"},"cell_type":"markdown","source":["# Python Program to Check where a String is Palindrome or not ?"]},{"metadata":{"id":"PhIi2cEqQ0SM","colab_type":"code","colab":{},"outputId":"230eeef0-534f-4e65-9602-14b990cf2a51"},"cell_type":"code","source":["myStr = \"Madam\"\n","\n","#convert entire string to either lower or upper\n","myStr = myStr.lower()\n","\n","#reverse string\n","revStr = reversed(myStr)\n","\n","\n","#check if the string is equal to its reverse\n","if list(myStr) == list(revStr):\n"," print(\"Given String is palindrome\")\n","else:\n"," print(\"Given String is not palindrome\")\n"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Given String is palindrome\n"],"name":"stdout"}]},{"metadata":{"id":"TLQRLF-_Q0SQ","colab_type":"text"},"cell_type":"markdown","source":["# Python Program to Sort Words in Alphabetic Order?"]},{"metadata":{"id":"8c75-LV9Q0SS","colab_type":"code","colab":{},"outputId":"1c220dee-b732-426d-938d-51308151ab72"},"cell_type":"code","source":["myStr = \"python Program to Sort words in Alphabetic Order\"\n","\n","#breakdown the string into list of words\n","words = myStr.split()\n","\n","#sort the list\n","words.sort()\n","\n","#print Sorted words are\n","for word in words:\n"," print(word)"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Alphabetic\n","Order\n","Program\n","Sort\n","in\n","python\n","to\n","words\n"],"name":"stdout"}]},{"metadata":{"id":"F3GTmmkUQ0SV","colab_type":"code","colab":{}},"cell_type":"code","source":[""],"execution_count":0,"outputs":[]},{"metadata":{"id":"8S483u74Q0SY","colab_type":"code","colab":{}},"cell_type":"code","source":[""],"execution_count":0,"outputs":[]}]}
0 commit comments