1. 程式人生 > >Day2-------列表、元組、字典等

Day2-------列表、元組、字典等

用法 mali div day tom 分割 span 多級 clas

1. 列表(list)

列表是我們最以後最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作

1.定義列表

1 names = [Alex,"Tenglan",Eric]

2.列表中可以嵌套任何類型

  • 中括號起來
  • ,分割每個元素
  • 列表中的元素可以是 數字,字符串,列表,布爾值....所有的都能放進去
  • "集合" ,內部放置任何東西

3.通過下標訪問列表中的元素,下標從0開始計數

1  >>> names[0]
2  Alex
3  >>> names[2]
4  Eric
5  >>> names[-1]
6 Eric 7 >>> names[-2] #還可以倒著取 8 Tenglan

4.列表的遍歷

1 names = [Alex,"Tenglan",Eric]
2 for i in names:
3     print(i)

輸出:

Alex
Tenglan
Eric

5.追加(append)

append:在列表的最後追加元素

1 names = [Alex,"Tenglan",Eric]
2 
3 names.append("我是新來的")
4 print(names)

輸出:

[Alex, Tenglan
, Eric, 我是新來的]

6.插入

Insert的用法:

列表.insert(要插入的下標,要插入的內容)

1 names = [Alex, Tenglan, Eric, Rain, Tom, Amy, 我是新來的]
2 
3 names.insert(2,"強行從Eric前面插入")
4 print(names)

輸出:

[Alex, Tenglan, 強行從Eric前面插入, Eric, Rain, Tom, Amy, 我是新來的]

7.修改

操作:直接將要修改元素覆蓋

1 names = [
Alex, Tenglan, Eric, Rain, Tom, Amy, 我是新來的] 2 3 names[2] = "該換人了" 4 print(names)

輸出:

[Alex, Tenglan, 該換人了, Rain, Tom, Amy, 我是新來的]

8.刪除

(1)del

names = [Alex, Tenglan, 該換人了, Rain, Tom, Amy, 我是新來的]

del names[2]

(2)remove

1 names.remove("Eric")   #括號裏跟的是元素內容

(3)pop

names.pop(3)   #不加下標就是刪除最後一個

9.擴展(合並)

1 names = [Alex, Tenglan, Rain, Tom, Amy]
2 b = [1,2,3,]
3 names.extend(b)
4 print(names)

輸出:

[Alex, Tenglan, Rain, Tom, Amy, 1, 2, 3]

10.拷貝(copy)

names = [Alex, Tenglan, Rain, Tom, Amy]

name_copy = names.copy()

11.統計(count)

1 names = [Alex, Tenglan, Amy, Tom, Amy, 1, 2, 3]
2 
3 print(names.count("Amy"))

輸出: 2

12.排序(sort)

註意:在python3.0中,不同類型的數據不能排序

1 b = [1,5,6,4,3]
2 b.sort()
3 print(b)

輸出:

[1, 3, 4, 5, 6]

13.反轉(reverse)

1 names = [Alex, Tenglan, Amy, Tom, Amy, 1, 2, 3]
2 
3 names.reverse()
4 print(names)

輸出:

[3, 2, 1, Amy, Tom, Amy, Tenglan, Alex]

14.定位(index)

註意:只能返回第一個找到的下標

1 names = [Alex, Tenglan, Amy, Tom, Amy, 1, 2, 3]
2 
3 print(names.index("Amy"))

輸出:2

15.enumrate

1 list = ["房子", "車子", "票子", "孩子"]
2 for index,product in enumerate(list):
3     print(index,product)

輸出:

0 房子
1 車子
2 票子
3 孩子

2.元組(tuple)

定義:元組其實跟列表差不多,也是存一組數,只不是它一旦創建,便不能再修改,所以又叫只讀列表

語法:

1 names = ("alex","jack","eric")

它只有2個方法,一個是count,一個是index,完畢。

3.字典(dict)

1.特性

字典的特性:

  • dict是無序的
  • key必須是唯一的

2.語法

info = {
    stu1101: "TengLan Wu",
    stu1102: "LongZe Luola",
    stu1103: "XiaoZe Maliya",
}

3.增加

1 info = {
2     stu1101: "張三",
3     stu1102: "李四",
4     stu1103: "王五",
5 }
6 
7 info["stu1104"] =  "趙六"
8 print(info)

輸出:

{stu1101: 張三, stu1102: 李四, stu1103: 王五, stu1104: 趙六}

4.修改

info = {
    stu1101: "張三",
    stu1102: "李四",
    stu1103: "王五",
}

info["stu1102"] =  "尼古拉斯 趙四"
print(info)

輸出:

{stu1101: 張三, stu1102: 尼古拉斯 趙四, stu1103: 王五}

5.刪除

pop

info = {
    stu1101: "張三",
    stu1102: "李四",
    stu1103: "王五",
}

info.pop("stu1103")
print(info)

del

info = {
    stu1101: "張三",
    stu1102: "李四",
    stu1103: "王五",
}

del info[stu1103]
print(info)

6.查找

 1 info = {
 2     stu1101: "張三",
 3     stu1102: "李四",
 4     stu1103: "王五",
 5 }
 6 
 7 print("stu1102" in info )    #標準用法
 8 print(info.get("stu1102") )  #獲取,用這個安全
 9 print(info["stu1102"])       #同上,但是看下面
10 print(info["stu1105"] )      #如果一個key不存在,就報錯,get不會,不存在只返回None

輸出:

True
李四
李四

7.多級字典嵌套及操作

 1 menu = {
 2     "南京":{
 3         "江寧":{
 4             "金科":{},
 5             "曉莊":{},
 6             "南工程":{}
 7         },
 8         "浦口":{
 9             "南大":{},
10             "東南":{},
11         },
12         "仙林":{
13             "南財":{},
14             "南師大":{}
15         }
16     },
17     "常州":{
18         "江理":{}
19     },
20     "蘇州":{
21         "蘇大":{}
22     }
23 }

Day2-------列表、元組、字典等