一、列表
增象迎,刪,改呛踊,查
1.修改列表元素
'''
通過下標獲取元素砾淌,然后重新賦值:列表名[下標]=新的值
'''
names=['周星馳','張家輝'谭网,'劉德華','楊洋']
names[4]='陳奕迅'
names[-1]
print (names)
2.列表的其他操作
'''
1.len():獲取列表的長度(元素的個數(shù))
2.列表1+列表2:讓列表1和列表2的元素組合在一起產生一個新的列表
3.列表*數(shù)字:讓列表中的元素重復n次汪厨,產生一個新的列表
'''
print(len ([1,2,3,4,5]))
print (len(names))
new_names =names +['周杰','王力宏']
print(new_names)
print ([1,2]*3)
'''
4.in,not in 操作
元素 in 列表:判斷指定的元素是否在指定的列表中
'''
result='高以翔' not in names
print (result)
3.獲取列表中的最大的元素和最小元素
'''
max(列表)
min(列表)
'''
print (max([1,2,67,8]))
print (max(['a','bc','adf','z']))
print (min([1,45,89,0,-1,8]))
獲取一個數(shù)字列表中的最大值
numbers=[1,23,56,2,445,7]
max1=number[0]
for item in numbers:
if item>max1:
max1=item
print (max1)
4.其他方法
'''
count:獲取指定元素在列表中出現(xiàn)的次數(shù)'''
print (numbers.count(-1))
'''
extend:將序列中的每一個元素愉择,添加到列表中
'''
names.extend(['王祖賢'])
print (names)
'''
列表.index(元素):獲取指定元素在指定列表中的索引(如果元素有多個劫乱,取第一個)'''
print(names.index('張家輝'))
'''
列表.reverse():反向列表中的元素(直接操作原列表,不會產生新列表)'''
numbers=[1,22,3,4,89]
numbers.reverse()
print (numbers)
'''
列表.sort():對列表元素進行排序(默認從小到大排序--升序)'''
numbers=[1,42,45,6,90]
numbers.sort() #升序
print (numbers)
numbers.sort(reverse=True) #降序
print (numbers)
'''
列表.clear(): 清空列表中的元素'''
numbers.clear()
numbers=[] #效果同上
print (numbers)
'''
列表.copy():將列表中的元素全部拷貝一份創(chuàng)建一個新的列表'''
names=['張三'锥涕,'李四']
new_names1=names.copy()
new_names1=names[ : ]
print (new_names1)
注意:通過一個列表變量給另一個列表變量賦值的時候衷戈,賦的是地址;兩個列表
對元素進行操作的時候會互相影響层坠。
想要避免這個問題就使用copy或者切片
二殖妇、元組
'''
1,什么是元祖
元組就是不可變的列表破花,列表中除了可變的操作以外谦趣,其他的操作都適用于元祖
元祖值:使用()將元素包含起來疲吸,多個元素之間用逗號隔開,比如(1,2,'abf')
元素的類型可以是任何類型
2.改蔚润、增磅氨,刪相關操作不能作用于元祖,查可以
'''
colors=('red','green','yellow','purple')
1.查(和列表的查一模一樣嫡纠,沒有任何區(qū)別)
print (colors[1])
print (colors[0:3])
print (colors[0::2])
for item in colors:
print (item)
names=('name1','name2','name3')
x,y,z=names
print (x,y,z)
2.len
print (len(colors))
3.in,not in
print ('red'in colors)
4.+和*
print ((1,2)+(3,4))
print ((1,2)*2)
5.元祖補充
獲取元祖的元素
names=('name1','name2','name3')
first,midel,last=names #通過變量名前加可以把變量變成列表,獲取多個元素
print (first,midel,last)
*name1,name=names
print (name1,name)
三延赌、字典
'''
字典也是一種容器類型的數(shù)據(jù)類型(序列)除盏,存的數(shù)據(jù)是以鍵值對的形式出現(xiàn)的,字典中的元素全部都是鍵值對挫以。
字典是可變的(可以增刪改)者蠕,但是無序的(不能使用下標)
鍵值對:鍵:值(key:value):鍵值對中key是形式,值才是真正要存的內容
鍵:理論上可以是任何不可變的數(shù)據(jù)類型掐松,但是實際開發(fā)的時候一般使用字符串作為key
值:可以是任意數(shù)據(jù)類型數(shù)據(jù)
鍵是唯一的
'''
1.聲明一個字典
'''創(chuàng)建一個字典變量'''
dict1={} # 創(chuàng)建一個空的字典
print (type(dict1))
dict2={'a':1,'b':'abc'}
print (dict2)
'''將其他類型數(shù)據(jù)轉換成字典'''
dict3=dict()
print (dict3)
2.字典的增刪改查
'''a.查:獲取字典的元素的值
字典獲取元素的值是通過key來獲取的
字典[key]
如果key不存在踱侣,會報錯
'''
'''
字典.get(key)'''
print (person.get('name'))
如果key不存在,返回none
'''
注意:如果key值確定存在使用[]去獲取值大磺,不確定key值是否存在才使用get方式去獲取值抡句。'''
'''
b.增加元素\修改元素
通過key獲取字典元素,然后賦值杠愧。當key本身就存在的時候待榔,就是修改元素的值,不存在的時候就是給字典添加鍵值對流济。
'''
person['age']=18
print (person)
'''c.刪除 :刪除的是鍵值對
del 字典[key]---注意:key如果不存在會報錯
'''
del person['face']
print (person)
'''
字典.pop(key)---會返回被刪除的鍵值對對應的值
'''
person.pop('age')
print (person)
3.相關的數(shù)組屬性
'''
字典.keys():獲取字典所有的key锐锣,返回值的類型是dict_keys,但是可以把它當成列表使用
字典.values():獲取字典所有的值(value)
字典.items():將字典中所有的鍵值對轉換成一個一個的元祖,key作為元祖的第一個元素绳瘟,value作為元祖的第二個元素
'''
4.遍歷字典
直接遍歷字典獲取到的是所有的key(推薦使用)
for key in student_dict:
print (key,student_dict[key])
b.遍歷直接獲取到key和value(不推薦使用)
for key,value in student_dict.items():
print (key,value)
5.列表中有字典雕憔、字典中有字典、字典中有列表
'''
聲明一個變量糖声,作用是用來存儲一個班的學生的信息斤彼。其中學生的信息包括姓名、性別姨丈、年齡畅卓、電話
至少存三個學生信息
'''
6.其他操作
'''
1.fromkeys()
dict.formkeys(序列,value):創(chuàng)建一個新的字典蟋恬,序列中的元素作為key,value作為值
'''
'''
2.in
key in 字典:判斷字典中是否存在指定的key
'''
'''
3,update
字典1.update(字典2):使用字典2的鍵值對去更新字典1中的鍵值對翁潘。如果字典2中對應鍵值對在字典1中不存在,就添加歼争。存在就更新拜马。
'''
四渗勘、集合
'''
集合也是一種容器類型的數(shù)據(jù)類型(序列),數(shù)據(jù)放在{}中俩莽,多個之間只用逗號隔開:{1,2,'a'}
集合是無序的(不能通過索引去取值)旺坠,可變(可以增刪改),元素不能重復
集合可以進行數(shù)學中集合相關的操作:判斷是否包含扮超,求交集取刃、并集、差集出刷、補集
'''
1.怎么聲明集合
'''
a.聲明一個變量璧疗,賦一個集合值
'''
set1={1,2,3}
print (set1,type(set1))
'''b.將其他的數(shù)據(jù)轉換成集合'''
set2=set('abc123') #將其他數(shù)據(jù)轉換成集合,自帶一個去重的功能
print (set2)
set3=set([12,'abc','hh',32,12])
print (set3)
print (list(set3))
2.增刪改查
'''
a.查:遍歷
注意:集合沒有辦法單獨獲取某一個元素
'''
for item in set2:
print (item)
'''
b.增
集合.add(元素):在指定的集合中添加指定的元素'''
set1={1,2,3}
set1.add(100)
print (set1)
集合1.update(集合2):將集合2中的元素添加到集合1中馁龟,自動去重
set1.update({'adb','ss'})
print (set1)
'''c.刪'''
集合.remove(元素):在指定的集合中刪除指定的元素
set1.remove('ss')
print (set1)
pop刪除是隨機刪除一個
set1.pop()
print (set1)
3.判斷是否包含
'''
集合1>=集合2 ---判斷集合1中是否包含集合2
集合1<=集合2 ---判斷集合2中是否包含集合1
'''
4.數(shù)學的集合運算
'''求并集:|'''
print ({1,2,3}|{2,3,4,5})
''' 求交集:&'''
print ({1,2,3}&{2,3,4,5})
'''求差集:-'''
print ({1,2,3}-{2,3,4,5})
'''求補集:^'''
print ({1,2,3}^{2,3,4,5})
5.其他方法
'''clear:清空集合'''
set1.clear()
print (set1,type(set1))
'''len:獲取集合中元素的個數(shù)'''
print (len(set1))