Alphabet range in Python
>>> import string
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> list(string.ascii_lowercase)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
Alternatively, using
range
:>>> list(map(chr, range(97, 123)))
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
Or equivalently:>>> list(map(chr, range(ord('a'), ord('z')+1)))
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
Other helpful
string
module features:>>> help(string)
....
DATA
ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
digits = '0123456789'
hexdigits = '0123456789abcdefABCDEF'
octdigits = '01234567'
printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
whitespace = ' \t\n\r\x0b\x0c'
Python: how to print range a-z?
>>> import string
>>> string.ascii_lowercase[:14]
'abcdefghijklmn'
>>> string.ascii_lowercase[:14:2]
'acegikm'
To do the urls, you could use something like this[i + j for i, j in zip(list_of_urls, string.ascii_lowercase[:14])]
Iterating each character in a string using Python
As Johannes pointed out,
for c in "string":
#do something with c
You can iterate pretty much anything in python using the for loop
construct, for example, open("file.txt")
returns a file object (and opens the file), iterating over it iterates over lines in that file
with open(filename) as f:
for line in f:
# do something with line
If that seems like magic, well it kinda is, but the idea behind it is really simple. There's a simple iterator protocol that can be applied to any kind of object to make the for
loop work on it.
Simply implement an iterator that defines a next()
method, and implement an __iter__
method on a class to make it iterable. (the __iter__
of course, should return an iterator object, that is, an object that defines next()
)
See official documentation
printing characters of string from the end to the beginning using range in python
for c in s[::-1]:
print(c)
Expand alphabetical range to list of characters in Python
In [19]: s = 'B-F'
In [20]: list(map(chr, range(ord(s[0]), ord(s[-1]) + 1)))
Out[20]: ['B', 'C', 'D', 'E', 'F']
The trick is to convert both characters to their ASCII codes, and then use range()
.P.S. Since you require a list, the list(map(...))
construct can be replaced with a list comprehension.
Python: Replace character RANGE in a string with new string
strings are immutable (unchangeable). But you can index and join items.
mystring = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
mystring = 'ABCDE'.join([mystring[:20],mystring[24:]])
Do be careful as the string length "ABCDE" and the number of items you omit between mystring[:20], mystring[24:] need to be the same length.'XXXXXXXXXXXXXXXXXXXXABCDEXXXXXXXXXXXXXX'
Related Topics
How Dangerous Is Setting Self._Class_ to Something Else
Inline CSV File Editing with Python
How to Write Utf-8 in a CSV File
Networkx - Change Color/Width According to Edge Attributes - Inconsistent Result
Global Dictionaries Don't Need Keyword Global to Modify Them
Django: How to Manage Development and Production Settings
Python & Pandas: How to Query If a List-Type Column Contains Something
Shell Script: Execute a Python Program from Within a Shell Script
Parallelize Apply After Pandas Groupby
Running a Command as a Super User from a Python Script
How to Skip Iterations in a Loop
How to Create Module-Wide Variables in Python
Difference Between 'Python Setup.Py Install' and 'Pip Install'