day6-列表缘挑、元組石咬、字典、集合

一卖哎、列表

增鬼悠,刪、改亏娜、查

1.修改列表元素

通過下標(biāo)獲取元素焕窝、然后重新賦值:列表名[下標(biāo)] = 新的值

這兒的下標(biāo)不能越界

names = ['周星馳','張家輝','劉德華','黃渤','楊洋']
names[4] = '于和偉'
print(names)

結(jié)果

['周星馳', '張家輝', '劉德華', '黃渤', '于和偉']

2.列表的其他操作

  • len():獲取列表的長度(元素的個數(shù))
  • 列表1+列表2:讓列表1和列表2的元素組合在一起產(chǎn)生一個新的列表
  • 列表*數(shù)字:讓列表中的元素重復(fù)N次,產(chǎn)生一個新的列表
new_names = names+['吳秀波','徐洪浩']
print(new_names)
# 4.in维贺, not in操作

結(jié)果

['周星馳', '張家輝', '劉德華', '黃渤', '于和偉', '吳秀波', '徐洪浩']
  • 元素 in 列表:判斷指定的元素是否在指定的列表中它掂。
result = '羅志祥' not in names
print(result)

結(jié)果

True
  • 獲取列表中的最大的元素和最小元素

max(列表)
min(列表)
print(max([1,2,33,44,45]))

獲取一個數(shù)字列表的最大值

numbers = [1,23,56,2,445,7]
# print(max(numbers))
max1 = numbers[0]
for item in numbers:
    if item > max1:
        max1 = item
print(max1)

結(jié)果

445

4.其他方法

1.count:獲取指定元素在列表中出現(xiàn)的次數(shù)
2.列表.extend(序列):將序列中你的每一個元素懒构,添加到列表中

names.extend(['王祖賢'])
print(names)

結(jié)果

['周星馳', '張家輝', '劉德華', '黃渤', '于和偉', '王祖賢']

3.列表.index(元素):獲取指定元素在指定列表中的索引(如果元素有多個焊傅,取第一個的索引值

print(names.index('張家輝'))

結(jié)果

1

4.列表.reverse():反向列表中的元素(直接操作的原列表,不會產(chǎn)生新的列表)

numbers = [1,2,3,4]
numbers.reverse()
print(numbers)

結(jié)果

[4, 3, 2, 1]

5.列表.sort():對列表元素進(jìn)行排序(默認(rèn)是從小到大排序--升序

numbers = [11.3,54,32,64,23]
numbers.sort()  #升序
print(numbers)

numbers.sort(reverse=True)  #降序
print(numbers)

結(jié)果

[11.3, 23, 32, 54, 64]
[64, 54, 32, 23, 11.3]

6.列表.clear():清空列表中的元素

numbers.clear()
# numbers = []
print(numbers)

結(jié)果

[]

7.列表.copy():將列表中的元素全部拷貝一份創(chuàng)建一個新的列表"""

names = ['張三','李四']
new_names = names.copy()
#new_names = names[:]
print(new_names)

結(jié)果

['張三','李四']

注意:通過一個列表變量給另一個列表變量賦值的時候努潘,賦的是地址垃沦;兩個列表對元素操作的時候會相互影響客给。
想要避免這個問題就使用copy或者切片

二、元組

1.什么是元組

元組就是不可變的列表肢簿,列表中除了可變的操作靶剑,其他的操作都適用于元組
元組值:a.使用()將元素包含起來,多個元素之間用逗號隔開池充,比如:(1,2桩引,‘a(chǎn)sw’
b.元素的類型可以是任何類型

2.改,增收夸,刪相關(guān)操作都不能作用于元組坑匠。查可以。

colors = ('red','green','yellow','purle')

  • 查(和列表的一模一樣卧惜,沒有任何區(qū)別)
print(colors[1])
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))

結(jié)果

green
yellow
purle
4
True
(1, 2, 3, 4)
5.元組補(bǔ)充

1.獲取元組的元素

names = ('name1','name2','name3')
通過多個變量分別獲取元組的元素(變量個數(shù)和元組元素個數(shù)一樣)
 x,y = names
 print(x,y)
通過變量名前加*可以把變量變成列表厘灼,獲取多個元素
first,*midel,last = names
print(first,midel,last)


name,*name1 = names  #讓name獲取第一個元素,剩下的元素作為name1的元素
print(name)

結(jié)果

name1 ['name2'] name3
name1

補(bǔ)充

a = (1,2,3,4)
print(a,type(a))

#注意:當(dāng)元組的元素個數(shù)是一個的時候序苏,需要在元素的后面加一個逗號手幢,表示這個值是一個元組
b =(10,)
print(b,type(b))

結(jié)果

(1, 2, 3, 4) <class 'tuple'>
(10,) <class 'tuple'>

三捷凄、字典

字典也是一種容器類型的數(shù)據(jù)類型(序列),存的數(shù)據(jù)是以鍵值對的形式出現(xiàn)的忱详。字典中的元素全部都是鍵值對
字典是可變的(可以增刪改),但是是無序的(不能使用下標(biāo))
鍵是唯一的

鍵值對:鍵:值 (key:value):鍵值對中key是形式跺涤,值是真正要存的內(nèi)容
鍵理論上任何不可變的數(shù)據(jù)類型匈睁。但是實際開發(fā)的時候一般使用字符串作為key
值:可以是任意數(shù)據(jù)類型

1.聲明一個字典

a.創(chuàng)建一個字典變量

dict1 = {} #創(chuàng)建一個空的字典
print(type(dict1))


dict2 = {'a':1,'b':2}
print(dict2['a'])

結(jié)果

<class 'dict'>
1

b.將其他數(shù)據(jù)類型轉(zhuǎn)化為字典"""

dict3 = dict([(1,2),(2,3)])
print(dict3)

結(jié)果

{1: 2, 2: 3}

2.字典的增刪改查

a.查
獲取字典的元素的值
字典獲取元素的值是通過key來獲取的
字典[key]

person = {'name':'路飛','age':'15','face':'78'}
print(person['name'])
# print(person['aaa']) #如果key不存在监透,會報keyError

字典.get(key)

print(person.get('name'))
print(person.get('aaa')) #如果key不存在,返回None

結(jié)果

路飛
路飛
None

注意:如果key值確定存在航唆,使用[]語法是獲取值胀蛮,不確定key值是否存在才使用get方法去獲取值

b.增加元素\修改元素
通過key獲取字典元素,然后賦值糯钙,當(dāng)key本身就存在的時候粪狼,就是修改元素的值;不存在的時候就是給字典添加鍵值對

person['height'] = 1.8
print(person)

person['age'] = 30
print(person)

結(jié)果

{'name': '路飛', 'age': '15', 'face': '78', 'height': 1.8}
{'name': '路飛', 'age': 30, 'face': '78', 'height': 1.8}

c.刪除:刪除的是鍵值對

del 字典[key]
del person['face']
print(person)
#字典.pop(key)---會返回被刪除的鍵值對對應(yīng)的值
person.pop('age')
print(person,18)

結(jié)果

{'name': '路飛', 'age': 30, 'height': 1.8}
{'name': '路飛', 'height': 1.8} 18

3.相關(guān)的數(shù)組屬性

keys:獲取字典所有的key任岸,返回值的類型是dict_keys再榄,但是可以把它當(dāng)成列表來使用
values:獲取字典所有的值(value)
items:將字典中所有的鍵值對轉(zhuǎn)換成一個一個的元組,key作為元組的第一個元素享潜,value作為元組的第二個元素

student_dict = {'name':'張三','student_id':'python1805001','scores':{'english':66,'math':100}}
keys = student_dict.keys()
print(keys,type(keys))
#遍歷獲取每個key
for key in keys:
    print(key)

print(student_dict.items())

結(jié)果

dict_keys(['name', 'student_id', 'scores']) <class 'dict_keys'>

4.遍歷字典

a.直接遍歷字典獲取到的是所有的key(推薦使用)

for key in student_dict:
    print(key,student_dict[key])

結(jié)果

name
student_id
scores

b.遍歷直接獲取到key和value(不推薦使用)

for key,value in student_dict.items():
print(key,value)

5.列表中有字典困鸥、字典中有字典、字典中有列表

聲明一個變量剑按,作用是用來存儲一個班級的信息疾就。其中學(xué)生的信息包括姓名、性別艺蝴、年齡猬腰、電話"""

student = []
message = {}
message2 = {}
message3 = {}
message['name'] = '張三'
message['sex'] = '男'
message['age'] = 18
message2['name'] = '李四'
message2['sex'] = '男'
message2['age'] = 20
message3['name'] = '王五'
message3['sex'] = '女'
message3['age'] = 15
student.append(message)
student.append(message2)
student.append(message3)
print(student)

結(jié)果

[{'name': '張三', 'sex': '男', 'age': 18}, {'name': '李四', 'sex': '男', 'age': 20}, {'name': '王五', 'sex': '女', 'age': 15}]

6.其他操作

1.fromkeys()

dict.fromkeys(序列,value):創(chuàng)建一個新的字典猜敢,序列中的元素作為key漆诽,value作為值

2.in
key in 字典:判斷字典中是否存在指定的key
dog_dict = {'color':'white','age':3,'type':'田園'}
print('color' in dog_dict)#判斷鍵是否存在

結(jié)果

True

update

字典1.update(字典2):使用字典2的鍵值對去更新字典1中的鍵值對。如果字典2中對應(yīng)的鍵值對在字典1中不存在锣枝,就添加厢拭;存在就更新

dict1 = {'1':'a','2':'b'}
dict1.update({'1':'aaa','3':'bbb'})
print(dict1)

結(jié)果

{'1': 'aaa', '2': 'b', '3': 'bbb'}

四、集合

集合(set)也是一種容器類型的數(shù)據(jù)類型(序列),數(shù)據(jù)放在{}中撇叁,多個之間用逗號隔開:{1,2,3,4,5}
集合是無序的(不能通過索引去取值)供鸠,可變(可以增刪改),元素不能重復(fù)

集合可以進(jìn)行數(shù)學(xué)中集合相關(guān)的操作:判斷是否包含,求交集陨闹、并集楞捂、差集、補(bǔ)集

1.怎么聲明集合

a.聲明一個變量趋厉,賦一個集合值"""

set0 = set() #創(chuàng)建一個空的集合
set1 = {1,2,3}
print(set1,type(set1))

結(jié)果

{1, 2, 3} <class 'set'>

b.將其他的數(shù)據(jù)轉(zhuǎn)化成集合"""

set2 = set('abc123') #將其他數(shù)據(jù)轉(zhuǎn)換成集合寨闹,自帶一個去重的功能
print(set2)
set3 = set([12,'abc','aa',22,12,'ddwd'])
print(set3)

結(jié)果

{'a', 'b', '1', '2', '3', 'c'}
{'abc', 12, 'aa', 22, 'ddwd'}
增刪改查

a.查:遍歷
注意:集合沒有辦法單獨獲取某一個元素


for item in set2:
    print(item)

結(jié)果

a
b
1
2
3
c

b.增

集合.add(元素):在指定的集合中添加指定的元素

set1 = {1,2,3}
set1.add(100)
print(set1)

結(jié)果

{1, 2, 3, 100}
集合1.update(集合2):將集合2中的元素添加到集合1中,并且自動去重
set1.update(set2)
print(set1)

c.刪
集合.remove(元素):在指定的集合中刪除指定的元素
set1.remove('a')
print(set1)

pop刪除是隨機(jī)刪除一個
set1.pop()
print(set1)

結(jié)果

{'a', 1, 2, 3, 100, 'b', '1', '2', '3', 'c'}
{1, 2, 3, 100, 'b', '1', '2', '3', 'c'}
{2, 3, 100, 'b', '1', '2', '3', 'c'}

3.判斷是否包含

集合1>=集合2 --判斷集合1中是否包含集合2(判斷集合2中的uansu是否都在集合1中)
集合1<=集合2 --判斷集合2中是否包含集合1


print({1.2,3,4,5}<={2,3})

結(jié)果

False

4.數(shù)學(xué)的集合運算

求并集:|
print({1,2}|{2,3,4,5,})
求交集:&
print({1,2,3}&{2,3,4,5})
求差集:-

print({1,2,3,4,5,6,7}-{1,2,3,4})

求補(bǔ)集:^
print({1,2,3,4,}^{1,3,4,5})

結(jié)果

{1, 2, 3, 4, 5}
{2, 3}
{5, 6, 7}
{2, 5}

3.其它集合

clear:清空集合

set1.clear()
print(set1,type(set1))

len:獲取集合中元素的個數(shù)"""

print(len(set1))

結(jié)果

set() <class 'set'>
0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末君账,一起剝皮案震驚了整個濱河市繁堡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖椭蹄,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闻牡,死亡現(xiàn)場離奇詭異,居然都是意外死亡绳矩,警方通過查閱死者的電腦和手機(jī)罩润,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翼馆,“玉大人割以,你說我怎么就攤上這事∮γ模” “怎么了拳球?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長珍特。 經(jīng)常有香客問我祝峻,道長,這世上最難降的妖魔是什么扎筒? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任莱找,我火速辦了婚禮,結(jié)果婚禮上嗜桌,老公的妹妹穿的比我還像新娘奥溺。我一直安慰自己,他們只是感情好骨宠,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布浮定。 她就那樣靜靜地躺著,像睡著了一般层亿。 火紅的嫁衣襯著肌膚如雪桦卒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天匿又,我揣著相機(jī)與錄音方灾,去河邊找鬼。 笑死碌更,一個胖子當(dāng)著我的面吹牛裕偿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播痛单,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘿棘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旭绒?” 一聲冷哼從身側(cè)響起鸟妙,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤焦人,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后圆仔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蔫劣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年坪郭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脉幢。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡歪沃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嫌松,到底是詐尸還是另有隱情液走,我是刑警寧澤贾陷,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站巷懈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏涌攻。R本人自食惡果不足惜癣漆,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一瞬哼、第九天 我趴在偏房一處隱蔽的房頂上張望较性。 院中可真熱鬧赞咙,春花似錦院仿、人聲如沸歹垫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匾效。三九已至,卻和暖如春魔策,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背政敢。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工访锻, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留河哑,地道東北人沙庐。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓容达,卻偏偏與公主長得像,于是被迫代替她去往敵國和親算芯。 傳聞我的和親對象是個殘疾皇子氏涩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容