Python Dictionaries and Strings
Strings:
Group of characters
Manupulation Methods:
1) capitalize:
str.capitalize()
2) Count
str.count(sub,
start= 0,end=len(string))
str=”anjianjianji123”
str.count(“anj”)
3)Find
str.find(str,
beg=0, end=len(string))
str1
= "this is string example....wow!!!";
str2 = "exam";
print str1.find(str2)
print str1.find(str2, 10-----beg,100-----end)
print
str1.find(str2, 40)
4)Index
str.index(str,
beg=0 end=len(string))
5) Len
len(
str )
str = "this is my name";
print
"Length of the string: ", len(str)
6)Split:
str.split(str="",
num=string.count(str)).
str1 = "this is string
example....wow!!!";
print
str1.split("exam")
['this
is string ', 'ple....wow!!!']
7)
isalnum
str = "this2009";
print str.isalnum()
str = "this is string example....wow!!!";
print
str.isalnum()
Returns
Boolean Value
8)
str = "123456";
# Only digit in this string
print str.isdigit()
str = "this is string example....wow!!!";
print
str.isdigit()
Same Prints
Boolean
Value
9)
Isaplha
str = "this";
# No space & digit in this string
print str.isalpha()
str = "this is string example....wow!!!";
print
str.isalpha()
>>>
str="nikhi"
>>>
st2="nikhil hdhdjhd jsdjj"
>>>
str2.isalpha()
True
>>>
st2.isalpha()
False
>>>
st2="122223"
>>>
st2.isalpha()
False
>>>
st2="122223fghg"
>>>
st2.isalpha()
False
10)
isupper,islower,upper,lower
str=”nikhi”
str.islower()
---------Booolean Value
str.upper()
-------------------Converts to uppercase
11)
str.join(sequence)
>>>
str
'nikhi'
>>>
print str.join("12345")
1nikhi2nikhi3nikhi4nikhi5
>>>
print str.join("12")
1nikhi2
>>>
12)
Replace
print('abcdef12'.replace('cd',
'12'))
ab12ef12
---->
print('abef'.replace('cd',
'12'))
----->
print('xyyxyyxyxyxxy'.replace('xy',
'12', 0))
----->
print('xyyxyyxyxyxxy'.replace('xy',
'12', 100))
PYTHON DICTIONARY DATA TYPE
Python dictionary is an unordered
collection of items. While other compound data types have only value as an
element, a dictionary has a key: value pair.
Dictionaries are optimized to retrieve
values when the key is known.
How to create a dictionary?
Creating a dictionary is as simple as
placing items inside curly braces {} separated by comma.
An item has a key and the corresponding
value expressed as a pair, key: value.
While values can be of any data type and
can repeat, keys must be of immutable type (string, number or tuple with
immutable elements) and must be unique.
Examples:
# empty dictionary
my_dict = {}
# dictionary with integer keys
my_dict = {1: 'apple', 2: 'ball'}
# dictionary with mixed keys
my_dict = {'name': 'John', 1: [2, 4, 3]}
# using dict()
my_dict = dict({1:'apple', 2:'ball'})
# from sequence having each item as a pair
my_dict = dict([(1,'apple'), (2,'ball')])
As you can see above, we can also create a
dictionary using the built-in function dict().
How to access elements from a dictionary?
While indexing is used with other
container types to access values, dictionary uses keys. Key can be used either
inside square brackets or with the get() method.
The difference while using get() is that
it returns None instead of KeyError, if the key is not found.
my_dict = {'name':'Jack', 'age': 26}
# Output: Jack
print(my_dict['name'])
# Output: 26
print(my_dict.get('age'))
# Trying to access keys which doesn't
exist throws error
# my_dict.get('address')
# my_dict['address']
When you run the program, the output will
be:
Jack
26
How to change or add elements in a
dictionary?
Dictionary are mutable. We can add new
items or change the value of existing items using assignment operator.
If the key is already present, value gets
updated, else a new key: value pair is added to the dictionary.
my_dict = {'name':'Jack', 'age': 26}
# update value
my_dict['age'] = 27
#Output: {'age': 27, 'name': 'Jack'}
print(my_dict)
# add item
my_dict['address'] = 'Downtown'
# Output: {'address': 'Downtown', 'age':
27, 'name': 'Jack'}
print(my_dict)
When you run the program, the output will
be:
{'name': 'Jack', 'age': 27}
{'name': 'Jack', 'age': 27, 'address':
'Downtown'}
How to delete or remove elements from a dictionary?
We can remove a particular item in a
dictionary by using the method pop(). This method removes as item with the
provided key and returns the value.
The method, popitem() can be used to
remove and return an arbitrary item (key, value) form the dictionary. All the
items can be removed at once using the clear() method.
We can also use the del keyword to remove
individual items or the entire dictionary itself.
# create a dictionary
squares = {1:1, 2:4, 3:9, 4:16, 5:25}
# remove a particular item
# Output: 16
print(squares.pop(4))
# Output: {1: 1, 2: 4, 3: 9, 5: 25}
print(squares)
# remove an arbitrary item
# Output: (1, 1)
print(squares.popitem())
# Output: {2: 4, 3: 9, 5: 25}
print(squares)
# delete a particular item
del squares[5]
# Output: {2: 4, 3: 9}
print(squares)
# remove all items
squares.clear()
When you run the program, the output will
be:
16
{1: 1, 2: 4, 3: 9, 5: 25}
(1, 1)
{2: 4, 3: 9, 5: 25}
{2: 4, 3: 9}
{}
Python
Dictionary Methods
Methods that are available with dictionary
are tabulated below. Some of them have already been used in the above examples.
Python Dictionary Methods
Method Description
clear() Remove
all items form the dictionary.
copy() Return
a shallow copy of the dictionary.
fromkeys(seq[, v]) Return a new dictionary with keys from seq and value equal to v
(defaults to None).
get(key[,d]) Return the value of key. If key doesnot exit, return d (defaults to
None).
items() Return
a new view of the dictionary's items (key, value).
keys() Return
a new view of the dictionary's keys.
pop(key[,d]) Remove the item with key and return its value or d if key is not
found. If d is not provided and key is not found, raises KeyError.
popitem() Remove
and return an arbitary item (key, value). Raises KeyError if the dictionary is
empty.
setdefault(key[,d]) If key is in the dictionary, return its value. If not, insert key
with a value of d and return d (defaults to None).
update([other]) Update the dictionary with the key/value pairs from other,
overwriting existing keys.
values() Return
a new view of the dictionary's values
Here are a few example use of these
methods.
marks =
{}.fromkeys(['Math','English','Science'], 0)
# Output: {'English': 0, 'Math': 0,
'Science': 0}
print(marks)
for item in marks.items():
print(item)
# Output: ['English', 'Math', 'Science']
list(sorted(marks.keys()))
Python
Dictionary Comprehension
Dictionary comprehension is an elegant and
concise way to create new dictionary from an iterable in Python.
Dictionary comprehension consists of an
expression pair (key: value) followed by for statement inside curly braces {}.
Here is an example to make a dictionary
with each item being a pair of a number and its square.
squares = {x: x*x for x in range(6)}
# Output: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16,
5: 25}
print(squares)
This code is equivalent to
squares = {}
for x in range(6):
squares[x] = x*x
A dictionary comprehension can optionally
contain more for or if statements.
An optional if statement can filter out
items to form the new dictionary.
Here are some examples to make dictionary
with only odd items.
odd_squares = {x: x*x for x in range(11)
if x%2 == 1}
# Output: {1: 1, 3: 9, 5: 25, 7: 49, 9:
81}
print(odd_squares)
Other
Dictionary Operations
Dictionary Membership Test
We can test if a key is in a dictionary or
not using the keyword in. Notice that membership test is for keys only, not for
values.
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9:
81}
# Output: True
print(1 in squares)
# Output: True
print(2 not in squares)
# membership tests for key only not value
# Output: False
print(49 in squares)
Iterating Through a Dictionary
Using a for loop we can iterate though
each key in a dictionary.
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9:
81}
for i in squares:
print(squares[i])
Built-in Functions with Dictionary
Built-in functions like all(), any(),
len(), cmp(), sorted() etc. are commonly used with dictionary to perform
different tasks.
Built-in
Functions with Dictionary
Function Description
all() Return
True if all keys of the dictionary are true (or if the dictionary is empty).
any() Return
True if any key of the dictionary is true. If the dictionary is empty, return
False.
len() Return
the length (the number of items) in the dictionary.
cmp() Compares
items of two dictionaries.
sorted() Return
a new sorted list of keys in the dictionary.
Here are some examples that uses built-in
functions to work with dictionary.
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9:
81}
# Output: 5
print(len(squares))
# Output: [1, 3, 5, 7, 9]
print(sorted(squares))
Comments
Post a Comment