列表
1.修改列表元素
通過下標獲取元素辛蚊,然后重新賦值: 列表名[下標] = 新的值
注意: 這兒的下標不能越界
names=['盧本偉','tf男孩','孫笑川']
names[1]='波瀾哥'
print(names)
1.len():獲取列表的長度(元素的個數(shù))
2.列表1+列表2:讓列表1和列表2的元素組合在一起產(chǎn)生一個新的列表
3.列表*數(shù)字:讓列表中的元素重復n次粤蝎,產(chǎn)生一個新的列表
print(len([1,2,3,4,5,7]))
new_names=names+['狗粉絲','帶明星']
print(new_names)
print([1,2]*4)
print(['sb']*10)
4.in,not in操作
元素in 列表: 判斷指定的元素是否在指定的列表中
result='長者' not in names
print(result)
max(列表)
min(列表)
print(max(names))
print(min([3,2,4,1,6,-7]))
# 獲取一個數(shù)字列表中的最大值
numbers=[1,2,13,42,1,445]
print(max(numbers))
max1=0
for x in numbers:
if x>max1:
max1=x
print(max1)
# count:獲取某個元素在列表中出現(xiàn)的次數(shù)
print(numbers.count(1))
2.列表.extend(序列):將序列中的每個元素添加到列表中
names.extend(['孫一峰'])
print(names)
3.列表.index(元素):獲取指定元素在指定列表中的索引(如果元素有多個,取第一個)
print(names.index('孫笑川'))
4.列表.reverse():韋神反向q袋马,反向列表中的元素(直接操作的原列表初澎,不會產(chǎn)生新列表)
numbers=[1,2,3,4]
new_names=numbers.reverse()
print(numbers,new_names)
5.列表.sort():對列表的元素進行排序,
numbers=[1,3,5,2,4,6,24]
numbers.sort() #升序
print(numbers)
numbers.sort(reverse=True)
print(numbers)
6.列表.clear():清空列表中的元素
7.列表.copy():將列表中的元素全部拷貝一份創(chuàng)建一個新的列表
new_names1=numbers.copy()
print(new_names1)
注意:通過一個列表變量給另一個列表變量賦值的時候,兩個列表對元素的操作會相互影響
想要避免這個文藝就使用copy或者切片
2.元祖
-
元祖就是不可變的列表虑凛,碑宴,列表中除了可變的操作以外,其他的操作都適用于元祖
a卧檐。元祖值:使用()將元素包含起來墓懂,多個元素之間用逗號隔開,比如:(1,2,3霉囚,'ahs')
b.元素的類型可以是任何類型
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)
# 2.len
print(len(colors))
# 3.in , not in
print('red' in colors)
# 4.+和*
print((1, 2) + (3, 4))
print((1, 2) * 2)
元祖補充:(列表也可以用)
5.元祖補充(列表也可以):
1.獲取元祖的元素
names = ('name1', 'name2', 'name3')
x, y, z = names # 通過多個變量分別獲取元祖的元素(變量個數(shù)和元祖元素個數(shù)一樣)
print(x, y)
names = ('name1', 'name2', 'name2_2', 'name2_3', 'name3')
first, *midel, last = names # 通過變量名前加*可以把變量變成列表闪唆,獲取多個元素
print(first, midel, last)
*name1, name = names
print(name1, name)
name, *name1 = names # 讓name獲取第一個元素,剩下的部分作為列表name1的元素
print(name)
3.字典
字典也是一種容器類型的數(shù)據(jù)類型(序列)钓葫,存的數(shù)據(jù)是以鍵值對的形式出現(xiàn)的悄蕾,字典中的元素全部都是鍵值對
字典是可變的(可以增刪改),但是是無序的(不能使用下標)
鍵值對:鍵:值(key:value) 鍵值對中key是形式础浮,值才是真正的內(nèi)容
鍵理論上可以是任何不可變的數(shù)據(jù)類型帆调,但是實際開發(fā)的時候一般使用字符串作為key
值可以是任何類型數(shù)據(jù)
鍵是唯一的
聲明一個字典
創(chuàng)建一個字典變量
dict1={} # 創(chuàng)建一個空的字典
print(type(dict1))
.將其他類型數(shù)據(jù)轉換成字典
dict3=dict([(1,2),(2,3)])
print(dict3)
.字典的增刪改查
a.查:獲取字典的元素值
字典獲取元素的值是通過key來獲取的:
字典[key]
person={'名字':'張浩瀚','特點':'腎虧','愛好':'偽娘'}
print(person['名字'])
print(person['特點'])
print(person['愛好'])
如果key不存在會報錯
1.字典.get(key)
print(person.get('名字')) # 如果key不存在,返回None
# 如果key值確定存在豆同,使用{}語法去獲取值番刊,不確定key值是否存在才使用get方式去獲取值
2...增加元素\修改元素
通過key獲取字典元素,然后賦值影锈。當key本身就存在的時候芹务,就是修改元素的值,不存在的時候就是給字典添加鍵值對
person['職業(yè)']='保安'
print(person)
c鸭廷、刪除:刪除的是鍵值對
del 字典[key] ---- 注意:key值不存在會報錯
del person['愛好']
print(person)
字典.pop(key)---- 會返回被刪除的鍵值對對應的值
jtgc=person.pop('特點')
print(person)
print(jtgc)
3.相關的數(shù)組屬性
s,但是可以把它當成列表來使用
字典.keys():獲取字典所有的key,返回值的類型是dict_key
字典.values():獲取字典所有的值(values)
字典.items():將字典中所有的鍵值對轉換成一個一個的元祖枣抱,key作為元祖的第一個元素,value作為元祖的第二個元素
student_dict={'name':'黃旭東','study':'3484','scres':{'星際':'韓宗','毒奶':'足球'}}
keys=student_dict.keys()
print(keys,type(keys))
# 遍歷獲取每個key
for key in keys:
print(key)
print(student_dict.values())
print(student_dict.items())
4.遍歷字典
# 直接遍歷字典獲取到的是所有的key(推薦使用)
for key in student_dict:
print(key,student_dict[key])
# b.遍歷直接獲取key和value(不推薦使用)
# for key in student_dict.items():
# print(key,value)
5.列表中有字典辆床、字典中有字典佳晶、字典中有列表
聲明一個變量,作用是用來存儲一個班級的學生的信息佛吓,其中學生的信息包括宵晚,姓名,性別维雇,年齡淤刃,電話,至少存3個學生信息
class1 = [
{'name': '張三', 'age': 23, 'sex': '男', 'tel': '15300022777'},
{'name': '李四', 'age': 25, 'sex': '女', 'tel': '12779922'},
{'name': '王二麻子', 'age': 20, 'sex': '男', 'tel': '12553'}
]
class1 = {
'name': 'py1805',
'address': '19-1',
'students':[
{'name': '張三', 'age': 18},
{'name': '李四', 'age': 28},
{'name': '王五', 'age': 20},
]
6吱型、其他騷操作
1.fromkey()
dict.fromkey(序列逸贾,value):創(chuàng)建一個新的字典,序列中的元素作為key,value作為值
dict1={'a':1,'b':2}
new_dict=dict1.fromkeys(['abc','dcc','1sd'],'100')
print(new_dict)
2.in
key in 字典:判斷字典中是否存在指定的key
dog_dict={'color':'white','age':3,'type':'中華田園犬'}
print('color' in dog_dict) #判斷的是鍵是否存在
3.update
字典1.update(字典2):使用字典2中的鍵值對去更新字典1中的鍵值對津滞。
如果字典2中對應的鍵值對在字典1中不存在铝侵,就添加,存在就更新触徐。
dict1={'1':'a','2':'b'}
dict1.update({'1':'aaa','3':'bbb'})
print(dict1)
4.集合
集合也是一種容器類型的數(shù)據(jù)類型(序列),數(shù)據(jù)放在{}中咪鲜,多個之間只用逗號隔開:{1,2,''d}
集合是無序的(不能通過索引去取值),可變(可以增刪改)撞鹉,元素不能重復
集合可以進行數(shù)學中集合相關的操作:判斷是否包含疟丙,求交集颖侄、并集、差集享郊、補集
怎么聲明集合
a.聲明一個變量览祖,賦一個集合值
set1={1,2,3}
print(set1,type(set1))
b.將其他數(shù)據(jù)轉換成集合
set2=set('asw1234') # 將其他數(shù)據(jù)轉換成集合,自帶一個去重的功能
print(set2)
set3=set([50,'233','asd',123])
print(set3)
print(list(set3))
2.增刪改查
a.查:遍歷
注意:集合沒有辦法單獨獲取某一個元素
for item in set2:
print(item)
b.增
集合.add(元素):在指定的集合中添加指定的元素
set1={1,2,3}
set.add(100)
print(set1)
集合1.update(集合2):將集合2中的元素添加到集合1中炊琉,自動去重
set1.update({'abc','ss'})
print(set1)
c.刪
集合.remove(元素):在指定的集合中刪除指定的元素
set1.remove('ss')
print(set1)
set1.pop() #pop刪除是隨機刪除一個
print(set1)
3.判斷是否包含
集合1>=集合2 --- 判斷集合1中是否包含集合2(判斷集合2中的所有元素是不是都在集合1中)
集合1<=集合2 --- 判斷集合2中是否包含集合1(判斷集合1中的所有元素是不是都在集合2中)
print({1,2,3,4}>={1,2,3}) # False
print({1,2,3,4}>={1,2,5}) # True
4.數(shù)學的集合運算
- 求并集:|
print({1,2,3}|{2,3,4,5,6})
- 求交集:&
print({1,2,3}&{2,3,4,5})
求差集:-
print({1,2,3,4}-{2,3,4,5})
求補集 :^
print({1,2,3}^{2,3,4,5})
- Len:獲取集合中元素的個數(shù)
print(len(set1))
python基本語法
單行注釋
標識符
行與縮進
基本數(shù)據(jù)類型(整型(int)展蒂、浮點(float)、布爾(bool)苔咪、復數(shù)(complex)锰悼、字符串(str)、列表(list)团赏、字典(dict)松捉、元祖(tuple)、集合(set))
變量
運算符(數(shù)學馆里、比較、邏輯可柿、賦值(=, += , -= ....))
字符串:'ha&~12'鸠踪,""",r'',R'',Unicode(chr,ord),獲取單個字符:字符串[下標]复斥;切片营密;長度;方法
列表:[12,'as', True],獲取列表元素目锭,添加元素评汰,刪除元素
if語句:if-elif-else
循環(huán)結構:for 變量 in 序列: while 條件語句:
字典、元祖痢虹、集合
面向過程和函數(shù)式的學生管理系統(tǒng)
函數(shù)
文件操作
類和對象