List áááş data structure áĄááťááŻá¸áĄá áŹá¸ áá áşáᯠááźá áşáááşá Java, C, C++ á áááˇáş áááźáŹá¸ááąáŹ programming language ááťáŹá¸áá˝ááş list ááťáŹá¸ááᯠarray ááťáŹá¸áᯠáááşáážááşááźáááşá Python list áááş áááźáŹá¸ááąáŹ programming language áá˝ááşáážááááş traditional array áááşááᯠáĄá á˝ááşá¸áááş(powerful)áááşá (A Python list is more than just a list.)
List áá˛áá˝ááş ááŤáááşáááˇáş áĄááŹááťáŹá¸ááᯠitem áááŻáˇáááŻááş element ááŻááąáŤáşáááşá List áá˛áá˝ááş ááŤáááşáááˇáş áĄááŹááťáŹá¸ááᯠááąá¸ááąáŹááˇáşáá˝ááşá¸ [ ] áá˛áá˝ááş áááˇáşááąá¸áááşá Python list á áĄááá áĄááťááşááťáŹá¸áážáŹ
List áá˝ááş index ááśááŤááşáááş 0 ááž á áááşá A list is a sequence of values. (List áá áşááŻáááş value ááťáŹá¸ááŤáááşáááˇáş sequence áá áşááŻááźá áşáááşá)
List áá˛áá˝ááş áážáááąáááˇáş item ááťáŹá¸áĄáŹá¸ááŻáśá¸áááş Python object ááťáŹá¸ ááźá áşááźáááşá
áááşá¸áĄááťááŻá¸ááťááŻá¸ááźááˇáş List ááťáŹá¸ááᯠáááşááąáŹááşáááŻááşáááşá áĄáąáŹááşáá˝ááş integer ááťáŹá¸ ááŤáááş list áá áşááŻááᯠáááşááąáŹááşáááşá ááąá¸ááąáŹááˇáşáá˝ááşá¸ [ ] áá˛áá˝ááş item ááťáŹá¸ááᯠcomma ááśá áááˇáşááąá¸á list áá áşááŻáááşááąáŹááşááźááşá¸áááş áĄáá˝ááşáá°ááŻáśá¸áááşá¸ ááźá áşáááşá Element áá áşááŻááž áááŤáááˇáş list ááᯠempty list ááŻááąáŤáşáááşá
# ááŹááž áááŤáááˇáş Empty list áá
áşáᯠáááşááąáŹááşáááşá
[]
List áĽáááŹááťáŹá¸
[10, 20, 30, 40]
['crunchy frog', 'ram bladder', 'lark vomit']
['spam', 2.0, 5, [10, 20]]
# ááśááŤááşááťáŹá¸(numbers)ááŤáááˇáş list áá
áşáᯠáááşááąáŹááşáááşá(List containing numbers)
L = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # ááąá¸ááąáŹááˇáşáá˝ááşá¸ [ ] áá˛áá˝ááş item ááťáŹá¸ááᯠcomma ááśá áááˇáşááąá¸áááşá
type(L) # L á data type áĄááťááŻá¸áĄá
áŹá¸ á
á
áşáááşá
type(L[0]) # L áá˛áá˝ááş áážáááąáááˇáş item áááŻáˇáááŻááş element á data type áĄááťááŻá¸áĄá
áŹá¸ááᯠá
á
áşáááşá
L = list (range(10)) # 0 ááž 9 áĄááááŤáááş list áá
áşááŻááᯠrange() ááᯠááŻáśá¸á áááşááąáŹááşáááşá
L
L_str = [ str(c) for c in L] # áĄááąáŤáşá list áá˛áážá integer ááᯠstring type ááźáąáŹááşá¸áááşá
L_str
type(L_str[0]) # L áá˛áá˝ááş áážáááąáááˇáş item á data type áĄááťááŻá¸áĄá
áŹá¸ááᯠá
á
áşáááşá
Python áááş dynamic typing ááźá
áşááąáŹááźáąáŹááˇáş áĄááťááŻá¸áĄá
áŹá¸ááá°áááˇáş data type ááťáŹá¸ááᯠlist áá
áşáá˛áá˝ááş áááˇáşááŹá¸áááŻááşáááşá Python data type áá˛ááž áááşáááˇáş áĄááťááŻá¸áĄá
áŹá¸ áááᯠááźá
áşáááŻááşáááşá
áĄáąáŹááşáá˝ááş bool, str, float, int á
áááşáááŻáˇ ááŤáááşáááˇáş Python list áá
áşááŻááᯠáĽááᏠáĄááźá
áşááąáŹáşááźááŹá¸áááşá
L3 = [True , '2', 3.0, 4]
[type (item) for item in L3] # L3 áá˛áá˝ááş áážáááąáááˇáş item á áá
áşááŻááťááşá¸á
áŽáĄááťááŻá¸áĄá
áŹá¸ááᯠá
á
áşáááşá
List áá áşááŻáá˛áá˝ááş áááźáŹá¸ááąáŹ list áááş sublist áĄááźá áş áážáááąáááŻááşáááşá
L4 = ['Bob', 40.0, ['dev', 'mgr']]
[type (item) for item in L4] # L4 áá˛áá˝ááş áážáááąáááˇáş item á áá
áşááŻááťááşá¸á
áŽáĄááťááŻá¸áĄá
áŹá¸ááᯠá
á
áşáááşá
List of an iterableâs items, list of successive integers 'Kaung' áááŻáááˇáş string áá áşáᯠiterableâs item ááźá áşááąáŹááźáąáŹááˇáş character ááťáŹá¸ááŤáááˇáş list áá áşáᯠáááşááąáŹááşáááŻááşáááşá String áá áşááŻáááş character áĄá áĽáĄáááşá¸ áá áşááŻááźá áşáááşá (A string is a sequence of characters.) (A string is a sequence of characters.)
L5 = list('Kaung')
L5
[type (item) for item in L5] # L5 áá˛áá˝ááş áážáááąáááˇáş item á áá
áşááŻááťááşá¸á
áŽáĄááťááŻá¸áĄá
áŹá¸ááᯠá
á
áşáááşá
L[i] # Index
L[i][j] # index of index
L[i:j] #slice
len(L) # length
List á index ááśááŤááşááťáŹá¸ áĄááŻááşááŻááşááŻáśáááş string á index ááśááŤááşááťáŹá¸ áĄááŻááşááŻááşááŻáśááž áĄáá°áá°áááş ááźá
áşáááşá (List indices work the same way as string indices)
List ááᯠindex ááśááŤááşááťáŹá¸ áážááˇáş element ááťáŹá¸á áááşáá˝ááşááťááş áĄááźá áşáááşá¸ áážááşáá°áááŻááşáááşá (a list as a relationship between indices and elements.)á áááŻáááşáá˝ááşááťááş mapping ááŻááąáŤáşáááşá (mapping; each index âmaps toâ one of the elements.)
#list áá˝ááş in operator ááᯠááŻáśá¸áááŻááşáááşá (The in operator also works on lists.)
cheeses = ['Cheddar', 'Edam', 'Gouda']
print('Edam' in cheeses)
print('Brie' in cheeses)
List áĄáá˝ááşá¸ element ááťáŹá¸ááᯠtraverse ááŻááşáááş áĄááŻáśá¸ááťáŹá¸áááˇáşáááşá¸ááťáŹá¸ for loop ááźá áşáááşá (The most common way to traverse the elements of a list is with a for loop.)á string ááťáŹá¸áĄáá˝ááşáááşá¸ áĄáá°áá°áááş ááźá áşáááşá
for cheese in cheeses:
print(cheese)
+ operator )¶+ operator ááźááˇáş list áážá
áşááŻááᯠáááşáááŻááşáááşá(concatenates lists)
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
print (c)
d = str([1, 2]) + "34" # Same as "[1, 2]" + "34"
print(d)
e = [1, 2] + list("34") # Same as [1, 2] + ["3", "4"]
print(e)
String áááş áĄáášáááŹá áĽâáşáĄáááşá¸(sequence of characters )ááźá áşáááşá list áááş value á áĽâáşáĄáááşá¸(sequence of values)ááźá áşáááşá (A string is a sequence of characters and a list is a sequence of values.)
s = 'spam'
t = list(s)
print (t)
# string áá
áşááŻááᯠword áĄááźá
áş áááŻááşá¸ááźáŹá¸áááŻááťážááş split method ááᯠáĄááŻáśá¸ááźáŻáááşá
s = 'pining for the fjords'
t = s.split()
print (t)
# hyphen ááᯠdelimiter áĄááźá
áşááŻáśá¸á áááŻááşá¸ááźáŹá¸áááşá
s = 'spam-spam-spam'
delimiter = '-' # uses a hyphen as a delimiter:
s.split(delimiter)
# split ááŻááşááŹá¸áááˇáş item ááťáŹá¸ááᯠááźááşááąáŤááşá¸á
ááş(Join)áááşá Join is a string method.
t = ['pining', 'for', 'the', 'fjords']
delimiter = ' ' #nvoke it on the delimiter and pass the list as a pa rameter:
delimiter.join(t)
# * operator ááźááˇáş list ááťáŹá¸ááᯠáĄáááťáŹá¸á
á˝áŹ áá˝áŹá¸áááŻááşáááşá(repeats a list a given number of times)
f = ['Ni!'] * 4 # repeats ['Ni!'] four times
print(d)
g = [1, 2, 3] * 3 #repeats the list [1, 2, 3] three times.
print(e)
For loop ááŻáśá¸á iteration ááŻááşáááşá
for x in [1, 2, 3]:
print(x, end=' ') # Iteration (end=' ' ááźáąáŹááˇáş item ááťáŹá¸ áĄááťáŹá¸áááŻááşááąáŤáşáááşá )
res = [c * 4 for c in 'SPAM'] # List comprehensions
res
#List áá˛áážáŹ item áá
áşááŻááťááşá¸á
áŽááᯠááᯠááźá
áşáĄáąáŹááş ááźážáąáŹááşááźáŽá¸ááž .append() ááŻááşá empty list áá˛áááŻáˇ áááˇáşáááşá
res = []
for c in 'SPAM': # List comprehension equivalent
res.append(c * 4)
res
List Slices The slice operator also works on lists:
t = ['a', 'b', 'c', 'd', 'e', 'f']
t[1:3]
á áááˇáş index ááśááŤááşááᯠááááˇáşááąá¸ááťážááş 0 ááž á ááááşá áĽááᏠ- t[:4] ááŻáśá¸áááˇáş index ááśááŤááşááᯠááááˇáşááąá¸ááťážááş ááąáŹááşááŻáśá¸áĄáááá°ááááşá áĽááᏠ- t[3:] á áááˇáş index ááśááŤááş áážááˇáş ááŻáśá¸áááˇáş index ááśááŤááşááᯠááááˇáşááąá¸ááťážááş áĄá ááž áĄááŻáśá¸áĄáá ááźá áşáááşá
t[:4] # á
áááˇáş index ááśááŤááşááᯠááááˇáşááąá¸ááťážááş 0 ááž á
ááááşá
t[3:] # ááŻáśá¸áááˇáş index ááśááŤááşááᯠááááˇáşááąá¸ááťážááş ááąáŹááşááŻáśá¸áĄáááá°ááááşá
t[:] # á
áááˇáş index ááśááŤááş áážááˇáş ááŻáśá¸áááˇáş index ááśááŤááşááᯠááááˇáşááąá¸ááťážááş áĄá
ááž áĄááŻáśá¸áĄáá ááźá
áşáááşá
Itemáá áşááŻ(single item)ááᯠlist á ááąáŹááşááŻáśá¸ááąááŹáá˝ááş áááˇáşáá˝ááşá¸áááŻáááˇáşáĄá፠.append() ááᯠááŻáśá¸áááşá
programming_languages = ["Python","Java","R","Ruby and Rails"]
programming_languages.append("C++")
programming_languages
List á áááşáážááşááŹá¸ááąáŹááąááŹáá˝ááş item ááᯠáááˇáşááąá¸(insert ááŻááşááąá¸)áááşá áááˇáşááąá¸á áąáááŻáááˇáşááąááŹá index ááśááŤááş áááˇáşááąá¸ááááşá
programming_languages.insert(2,"C#") #áááˇáşááąá¸á
áąáááŻáááˇáşááąááŹá index ááśááŤááş = 2
programming_languages
áááˇáşááąá¸áááŻááşáááˇáş index ááśááŤááşáážááˇáş áááŻááşááŽáááˇáş item áááŻáááşááŻááşááąá¸áááşá áĄáááşá áááşááŻááşááááˇáş item ááśááŤááşááᯠááááˇáşááąá¸ááŤá list áá˛áážáŹ ááąáŹááşááŻáśá¸(last) item ááᯠáááşááŻááşááąá¸áááşá
programming_languages.pop()
programming_languages
programming_languages.pop(3)
programming_languages
áááˇáşááąá¸áááŻááşáááˇáş index ááśááŤááşáážááˇáş áááŻááşááŽáááˇáş item ááᯠááťááşááąá¸áááşá
del(programming_languages[2])
programming_languages
áááˇáşááąá¸áááŻááşáááˇáş value áážááˇáş áááŻááşááŽáááˇáş item ááᯠááťááşááąá¸áááşá áááˇáşááąá¸áááŻááşáááˇáş value áážááˇáş áááŻááşááŽáááˇáş item ááážáááŤá ValueError ááąá¸áááşá
programming_languages.remove("Ruby and Rails")
programming_languages
t = ['a', 'b', 'c']
x = t.pop(1) #.pop()
print(t)
print(x)
t = ['a', 'b', 'c']
del t[1] # del
print(t)
t = ['a', 'b', 'c']
t.remove('b')
print(t)
t = ['a', 'b', 'c', 'd', 'e', 'f']
del t[1:5] # Index ááśááŤááş (á)ááž (á
) ááááŻááşáááş áĄááááťááşáááşá ( Index ááśááŤááş (á
) áááŤá)
print(t)
Index ááśááŤááşááąá¸á list áá˛áážáŹ item ááťáŹá¸ááᯠupdate ááŻááşáááŻááşáááşá
programming_languages[1] = 'C++'
programming_languages
Index ááśááŤááş ááźááˇáş access ááŻááşáááŻááşáááşá
programming_languages[1] # (i) from start
programming_languages[-1] # (ii) from end)
List á ááąáŹááşááŻáśá¸ááąááŹááž áááşáááˇáşáááŻáááˇáşáĄá፠.append() ááᯠááŻáśá¸áááşá
programming_languages.append("Java")
programming_languages.append("R")
programming_languages.append("Ruby and Rails")
programming_languages
programming_languages.reverse()
programming_languages
len(programming_languages)
Integers list ááźá áşááťážááş ááááşá¸áááşáşáááŻá¸áĄáááŻááşá¸ á áŽáááşá String list ááźá áşááťážááş áĄáášáááŹá áĽâáşáááŻááşá¸ á áŽáááşá
numbers = [1, 3, 4, 2]
numbers.sort() # Sorting list of Integers in ascending
print(numbers)
strs = ["geeks", "code", "ide", "practice"]
strs.sort() # Sorting list of Integers in ascending
print(strs)
numbers = [1, 3, 4, 2]
numbers.sort(reverse = True) # Sorting list of Integers in descending
print(numbers)
programming_languages.sort(reverse = True)
programming_languages
programming_languages = ['Ruby and Rails', 'R', 'Java', 'C++', 'Python']
sorted(programming_languages)
programming_languages
for language in programming_languages:
print(language)
programming_languages[1:4] # (i) Access items 1-3
programming_languages[1:] # (ii) Access items 1-end
programming_languages[:4] # (iii) Access items start-3
programming_languages[-1:] # (iv) Access item at the end
programming_languages[:-4] # (v) start from end and Access 4th item
programming_languages[:] # (vi) Access all items
programming_languages
new_programming_languages = programming_languages[:]
new_programming_languages
programming_languages
new_programming_languages = []
i = 0
for language in programming_languages:
new_programming_languages.append(programming_languages.pop(i))
i += 1
i
programming_languages
new_programming_languages
programming_languages = ['Ruby and Rails', 'R', 'Java', 'C++', 'Python']
programming_languages
if 'R' in programming_languages:
print('exist')
if 'R' not in programming_languages:
print('not exist')
else:
print('exist')
programming_languages = [ ]
if programming_languages:
print('There exist item or items')
else:
print('List is empty')
programming_languages = [ ]
if not programming_languages:
print('List is empty')
else:
print('There exist item or items')
programming_languages = ['Ruby and Rails', 'R', 'Java', 'C++', 'Python']
new_programming_languages = []
for i in range(0,len(programming_languages)):
new_programming_languages.append(programming_languages.pop())
programming_languages
new_programming_languages
while new_programming_languages:
programming_languages.append(new_programming_languages.pop())
new_programming_languages
programming_languages
if ááᯠááŻáśá¸á áááááŻáśá¸ instance ááᯠáĄáááş áááşááŻááşáááşá
# The logic below only remove 1st instance of particular value
programming_languages = ['Ruby and Rails', 'R', 'Java', 'C++', 'Python','C++','R','C++']
if 'C++' in programming_languages:
programming_languages.remove('C++')
programming_languages
# For loop ááᯠááŻáśá¸á áážááááťáž instance áĄáŹá¸ááŻáśá¸ááᯠáááşááŻááşáááşá
# áááşááŻááşááááˇáş instance áááŻááşáááźááşá¸ For loop áááşááááˇáşáááş áááŻááşááąá
programming_languages = ['Ruby and Rails', 'R', 'Java', 'C++', 'Python','C++','R','C++']
while 'C++' in programming_languages:
programming_languages.remove('C++')
programming_languages
List ááᯠset() ááźááˇáş set áĄááźá áşáááŻáˇ ááźáąáŹááşá¸áááşá
# If a value repeated in a list & we want only that value occur only once'''
programming_languages = ['Ruby and Rails', 'R', 'Java', 'Python', 'C++', 'R', 'C++']
print(set(programming_languages))
type(set(programming_languages)) # Set ááźá
áş áááźá
áş á
á
áşáááşá
programming_languages = ['Ruby and Rails', 'R', 'Java', 'Python', 'C++', 'R', 'C++']
set_programming_languages = set(programming_languages)
print(set_programming_languages)
programming_languages = ['Ruby and Rails', 'R', 'Java', 'Python', 'C++', 'R', 'C++']
tuple_programming_languages = tuple(programming_languages)
print(tuple_programming_languages)
type(tuple_programming_languages) # tuple ááźá
áş áááźá
áş á
á
áşáááşá
Empty list áá áşáᯠááźáŻááŻááşáááşá first_names áážááˇáş last_names list áá˛áážáŹ ááŹáááşááťáŹá¸ááᯠnested for loop ááźááˇáş áá˝á˛á ááᯠempty list áá˛áááŻáˇ ááźááˇáş .append() áááˇáşáááşá
first_names = ['Maung',' U','Ko']
last_names = ['Ba Kaung',' Myint Soe','Sai',' Hla ','Htoo']
name = []
for f_name in first_names:
for l_name in last_names:
name.append(f_name+" "+l_name)
name