<jupyter_start><jupyter_text>Standard data types:* mutable and immutablehere,* mutable means values can be changed: Lists, sets, dictionaries* immutable means values can be changed: Tuple, strings, numbers<jupyter_code>#numeric: int, float, complex (binary , octal, hexadecimal)
c = 10+6j
d = 2-4j
print(c+d)
#strings 
a ='fghfjhgjkh'
b = "fggjhk"
print(a)
print(b)
#tuple
tup = (1,2,3)
print(tup)
#tup[2]= 6 # error TypeError: 'tuple' object does not support item assignment bcz of immutability
#lists
a= [1,'a',"fhgjh"]
print(a)
a[1] = "deep"
print(a)  # mutable
a[2] = (1,2,3)
print(a)  # tuple inserted as a element to list
#use of tuple in list: will  be used where we dont want to change the element of lists
#dictionaries are better for developer readability than lists
a = {'name' : "deep", 'age': 25} # key should be string
print(a)
print(a['name'])
#set is an unordered collection of items, every element is unique and doesn't bother about non-unique
a = {1,2,3,2}
print(a)<jupyter_output>{1, 2, 3}<jupyter_text>Loops* while - nested - for* loops allows us to execute a statement or a group of statements multiple times<jupyter_code>#while
c=0
while(c<5):
    print(c)
    c = c + 1
print("done")
#for 
for i in range (5):
    print(i)
for i in a:
    print(i)
# nested loop
a=0
while(a==0):
    for i in range (5):
        print(i)
        i = i+1
        if(i==5):
            a=1<jupyter_output>0
1
2
3
4<jupyter_text>Loop control statements* break - continue - pass<jupyter_code>for i in range(5):
    pass
print("pass will be used to tell that loop is closed")
for i in range (5):
    print(i)
    i = i+1
    if(i==5):
        continue
print("continue will be used when after some condition you want to continue to next statements")
for i in range (5):
    print(i)
    i = i+1
    if(i==5):
        break
    print("break will be used when after some condition you want to break the loop")<jupyter_output>0
break will be used when after some condition you want to break the loop
1
break will be used when after some condition you want to break the loop
2
break will be used when after some condition you want to break the loop
3
break will be used when after some condition you want to break the loop
4
{'fraction_non_alphanumeric': 0.10455159981973862, 'fraction_numerical': 0.023433979269941414, 'mean_word_length': 3.8577680525164113, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '116950', 'license': 'MIT', 'n_tokens_mistral': 784, 'n_tokens_neox': 765, 'n_words': 318, 'path': 'Day4.ipynb', 'repo_name': 'saideepthik/python_learning', 'size': '2219'}