20190513——python基礎(列表、數據類型:字典、列表和字典的異同)


二、python基礎(列表、數據類型:字典、列表和字典的異同)                                             


 

1、列表

1)什么是列表

2)從列表提取單個元素

 

 

# 偏移量。列表中的各個元素,好比教室里的某排學生那樣,是有序地排列的,也就是說,每個元素都有自己的位置編號(即偏移量)。
# 1.偏移量是從0開始的,而非我們習慣的從1開始;2.列表名后加帶偏移量的中括號,就能取到相應位置的元素。
students = ['小九','小八','小七','小六','小五','小四','小三','老二','老大'] print(students[3]) >>>小六
students = ['小九','小八','小七','小六','小五','小四','小三','老二','老大']
print(students[3])
# 提取字典中的第三個元素,從0開始數,往右數第三個元素:“小六”
# >>>小六
提取字典元素

 3)從列表提取多個元素

# 這種用冒號來截取列表元素的操作叫作切片,顧名思義,就是將列表的某個片段拿出來處理。這種切片的方式可以讓我們從列表中取出多個元素。
list2 = [5,6,7,8,9] print(list2[:]) # 打印出[5, 6, 7, 8, 9] print(list2[2:]) # 打印出[7, 8, 9] print(list2[:2]) # 打印出[5, 6] print(list2[1:3]) # 打印出[6, 7] print(list2[2:4]) # 打印出[7, 8]
# 列表切片口訣:冒號左邊空,就要從偏移量為0的元素開始取;右邊空,就要取到列表的最后一個元素。后半句:冒號左邊數字對應的元素要拿,右邊的不動(可再回顧下代碼)。
# 偏移量取到的是列表中的元素,而切片則是截取了列表的某部分,所以還是列表

students = ['小九','小八','小七','小六','小五','小四','小三','老二','老大']
print(students[2:4])
print(students[2])

>>>['小七', '小六']
   小七

 

4)給列表增加/刪除元素

增加元素

# 請運行以下代碼:報錯后,可讀一下報錯信息,然后將第6行注釋掉再運行。
list3 = [1,2]
list3.append(3)
# 注意格式是:列表名.append()
# append后的括號里只能接受一個參數
print(list3) #list3.append(4,5) list3.append([4,5])
# append函數並不生成一個新列表,而是讓列表末尾新增一個元素。而且,列表長度可變,理論容量無限,所以支持任意的嵌套。
print(list3) >>>[1, 2, 3] [1, 2, 3, [4, 5]]

 

刪除元素

students = ['小明','小紅','小剛','小美']
del students[1]
print(students)
>>>['小明', '小剛', '小美']

# del語句非常方便,既能刪除一個元素,也能一次刪除多個元素(原理和切片類似,左取右不取)。

 

2、字典

1)什么是字典

# 字典和列表有3個地方是一樣的:1.有名稱;2.要用=賦值;3.用逗號作為元素間的分隔符。
# 而不一樣的有兩處:1.列表外層用的是中括號[ ],字典的外層是大括號{ };2.列表中的元素是自成一體的,而字典的元素是由一個個鍵值對構成的,用英文冒號連接。如'小明':95,其中我們把'小明'叫鍵(key),95叫值(value)。

students = ['小明','小紅','小剛']
scores = {'小明':95,'小紅':90,'小剛':90}
# 唯一的鍵和對應的值形成的組合,我們就叫做【鍵值對】,上述字典就有3個【鍵值對】:'小明':95、'小紅':90、'小剛':90
# 強調:字典中的鍵具備唯一性,而值可重復。也就是說字典里不能同時包含兩個'小明'的鍵,但卻可以有兩個同為90的值。

 

# 如果不想口算,我們可以用len()函數來得出一個列表或者字典的長度(元素個數),括號里放列表或字典名稱。
students = ['小明','小紅','小剛']
scores = {'小明':95,'小紅':90,'小剛':90}
print(len(students))
print(len(scores))

>>>3
   3

 

2)從字典中提取元素

# 字典的索引,和列表通過偏移量來索引不同,字典靠的是鍵。
scores = {'小明': 95, '小紅': 90, '小剛': 90}
print(scores['小明'])
>>>95
# 這便是從字典中提取對應的值的用法。和列表相似的是要用[ ],不過因為字典沒有偏移量,所以在中括號中應該寫鍵的名稱,即字典名[字典的鍵]。

 

3)給字典增加/刪除元素

album = {'周傑倫':'七里香','王力宏':'心中的日月'}
del album['周傑倫']
print(album)
album['周傑倫'] = '十一月的蕭邦'
print(album)
print(album['周傑倫'])

>>>
{'王力宏': '心中的日月'}
{'王力宏': '心中的日月', '周傑倫': '十一月的蕭邦'}
十一月的蕭邦

# 刪除字典里鍵值對的代碼是del語句del 字典名[鍵],而新增鍵值對要用到賦值語句字典名[鍵] = 值。

 

3、列表和字典的異同

 1)不同點:

  • 列表有序,要用偏移量定位;字典無序,便通過唯一的鍵來取值。
  • 列表中的元素是有自己明確的“位置”的,所以即使看似相同的元素,只要在列表所處的位置不同,它們就是兩個不同的列表。我們來看看代碼:
# 如果==左右兩邊相等,值為True,不相等則為False。
print(1 == 1)
# 1等於1,所以值為True
print(1 == 2)
# 1不等於2,所以為False
students1 = ['小明','小紅','小剛']
students2 = ['小剛','小明','小紅']
print(students1 == students2)
scores1 = {'小明':95,'小紅':90,'小剛':100}
scores2 = {'小剛':100,'小明':95,'小紅':90}
print(scores1 == scores2)

>>>
True
False
False
True

 2)共同點:

  • 在列表和字典中,如果要修改元素,都可用賦值語句來完成。看一下代碼:

 

list1 = ['小明','小紅','小剛','小美']
list1[1] = '小藍'
print(list1)
dict1 = {'小明':''}
dict1['小明'] = ''
print(dict1)

>>>['小明', '小藍', '小剛', '小美']
{'小明': ''}
  • 支持任意嵌套。除之前學過的數據類型外,列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。

 

# 列表提取元素
students = [['小明','小紅','小剛','小美'],['小強','小蘭','小偉','小芳']]
print(students[1][3])
>>>小芳

# 字典提取鍵
scores = {
    '第一組':{'小明':95,'小紅':90,'小剛':100,'小美':85},
    '第二組':{'小強':99,'小蘭':89,'小偉':93,'小芳':88}
    }
print(scores['第二組']['小芳'])
>>>88
# 列表和字典嵌套的情況下,提取元素:

students = {
    '第一組':['小明','小紅','小剛','小美'],
    '第二組':['小強','小蘭','小偉','小芳']
    }
scores = [
    {'小明':95,'小紅':90,'小剛':100,'小美':85},
    {'小強':99,'小蘭':89,'小偉':93,'小芳':88}
    ]
print(students['第一組'][2])
print(scores[0]['小剛'])

>>>小剛
   100

 

作業:

1、

# 把列表list1中的'love'取出來,並打印出來。
list1 = [{'嫉妒':'envy'},{'':'hatred'},{'':'love'}]
print(list1[2][''])
print(list1[1][''])

# 把字典dict1中的'love'取出來,並打印出來。
dict1 = {1:['cake','scone','puff'],2:['London','Bristol','Bath'],3:['love','hatred','envy']}
print(dict1[3][0])

# 提取A
tuple1 = ('A','B')
list2 = [('A','B'),('C','D'),('E','F')]
print(tuple1[0])
print(list2[0][0])

>>>
love
hatred
love
A
A

 

 

2、

# 請你通過所學知識,把列表中的“狼”取出來,並打印出來。

townee = [
    {'海底王國':['小美人魚''海之王''小美人魚的祖母''五位姐姐'],'上層世界':['王子','鄰國公主']},
    '丑小鴨','堅定的錫兵','睡美人','青蛙王子',
    [{'主角':'小紅帽','配角1':'外婆','配角2':'獵人'},{'反面角色':''}]
    ]
print(townee[5][1]['反面角色'])

>>>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM