List vs index: - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: List vs index: (/thread-28007.html) |
List vs index: - Frederico_Caldas - Jul-01-2020 Hello all, i'm trying to understand what should i change on my code so that i can use any words / sentence on the string: Given a string, display only those characters which are present at an even index number. 1. My code: Str='pynative' a=list(Str) print(a) for letter in a: index=a.index(letter) if index % 2==0: print('index=',index,'letter=', letter)2. The result: 3. What to do to use any word and get the correct index position?result above is ok but not suitable for example if i have a string='Hello World'. the code does not recognize that each l occupies a different index position. thanks in advance frederico RE: List vs index: - ndc85430 - Jul-01-2020 Look up the enumerate function.Also, you don't need to make a list out of the string - strings are already sequences, so can be indexed the same way as lists. RE: List vs index: - deanhystad - Jul-01-2020 What do you want to do? I don't mean "How are you going to program", but "What do you want to do?" Can you write a concise description of what you want your program to do? That is the first step in writing a program, and that description should be the first thing you mention when asking questions about your program. I am writing a program that prints every other letter in a string starting with the first letter (index 0). If the string is "Hello World" the output should be: index = 0 letter = H index = 2 letter = l index = 4 letter = o index = 6 letter = W index = 8 letter = r index = 10 letter = d From the description you would see the solution involves calculating even numbers in the range 0 to the length of the string and using the index to get the letter. You could write this in pseudo code: for index in range 0 to length(string) print index and string[index]Then convert to code. If you start with code you risk doing weird things like counting by 1 and using the modulo operator to find even numbers. RE: List vs index: - Frederico_Caldas - Jul-03-2020 (Jul-01-2020, 01:14 PM)deanhystad Wrote: What do you want to do? I don't mean "How are you going to program", but "What do you want to do?" Can you write a concise description of what you want your program to do? That is the first step in writing a program, and that description should be the first thing you mention when asking questions about your program. Thank you ! got it. i was not thinking correctly. i used what you proposed and used the Range with a step of 2 starting at 0. this solved the exercise. RE: List vs index: - perfringo - Jul-03-2020 You can slice the string: >>> 'pynative'[::2] 'pntv' RE: List vs index: - DeaD_EyE - Jul-03-2020 Funny enough, doing this with ord (not the task) gives accidentally the same result. "".join(c for c in 'pynative' if ord(c) % 2 == 0) Coincidence?
|