# 20190914 # R. Dawes print("\ncopying a list") list1 = [1,2,3,4] list2 = list1 print("list1:",list1) print("list2:",list2) print("\n") list1[2] = 10000 print("list1:",list1) print("list2:",list2) print("\ncopying a list properly") list1 = [1,2,3,4] list3 = list1[:] print("list1:",list1) print("list3:",list3) list1[3] = 12345 print("\n") print("list1:",list1) print("list3:",list3) print("\n") print("\nSlicing") list1 = ['a','b','c','d','e','f','g'] list2 = list1[2:5] list3 = list1[2:-1] list4 = list1[:4] list5 = list1[3:] print("list1:",list1) print("list2 = list1[2:5] :",list2) print("list3 = list1[2:-1] :",list3) print("list4 = list1[:4] :",list4) print("list5 = list1[3:] :",list5) print("\nuse + to join two lists and create a new list") list1 = ['a','b','c'] list2 = [1,2,3,4] list3 = list1 + list2 print("list1:",list1) print("list2:",list2) print("list3:",list3) print("\nMore slicing") list6 = list1[1:] + list1[0:1] print("list6:",list6) #note that the next line doesn't work #list7 = list1[1:] + list1[0] #but this does list7 = list1[1:].append(list1[0]) print("list7:",list7) print("\nuse extend to add all elements of one list to another list") print("list1:",list1) print("list2:",list2) list1.extend(list2) print("list1 extended by list2:",list1) print("\nappend 'a' to list3") list3.append('a') print("list3:",list3) print("\nremove 'a' from list3") list3.remove('a') print("list3:",list3) print("\ndel element in position 4 in list3") del list3[4] print("list3:",list3) print("\ncount the 'b's in a list") list4 = list3+list1 print("list4:",list4) x = list4.count('b') print("number of b's in list4",x) print("\nlength of list4") print("the length of list4 is",len(list4) ) print("\nsort a list 'in-place'") list8 = [12,6, 9, 32, 6, 1] print("list8:",list8) list8.sort() print('sorted list8',list8) print("\nuse sorted to create a sorted copy of a list") list9 = ["horse","dog", "cat", "rooster", "monkey"] print("list9:",list9) list10 = sorted(list9) print("list9:",list9) print("list10:",list10) print("\ninsert a new value in position 2 of list10") list10.insert(2,126543) print("list10:",list10) print("\nmake a list of lists") list11 = [list8,list10, list3, list2] print("list11:",list11) print("first element of list11:",list11[0]) print("third element of second element of list11:",list11[1][2]) print("\nuse a for loop to show a list of lists") for x in list11: print(x) print("\nuse * to create a list of identical items") list12 = [23] * 10 print("list12:",list12) list13 = [23,45] * 10 print("list13:",list13) list14 = [[23,45]] * 10 print("list14:",list14)