列表和元祖

轉載https://www.cnblogs.com/hukey/p/9619317.html
列表
1.什麼是列表,使用[]來表示,每一個元素使用逗號隔開,
可裝大量的數據,類似書包.列表是可以變的數據類型.
lst = ["移動硬盤","手機","false",""]
2.列表的索引和切片
    列表和索引一樣也有切片和索引,只不過切出來的還是列表.
    索引的下標是0開始
    [起始位置:結束位置:步長]
3.列表的增刪改查
    lst.inser()插入列表元素,指定位置.
    lst.append("黃宏")在列表末尾加入元素.
4,列表的嵌套
lst = ["alex", "gay", "wusir", ["範冰", "李冰",[1,"火鍋","lalala", "鳳爪"],"王冰冰,"]]
print(lst)
print(lst[3]) #輸出['範冰', '李冰', [1, '火鍋', 'lalala', '鳳爪'], '王冰冰,']
#這個lst(3)實際上是把[範冰]整個列表看成是第一個列表的第三個元素,第0個元素是alex.
print(lst[3][2]) #輸出[1,"火鍋","lalala", "鳳爪"]
print(lst[3][2][1])  #輸出火鍋
5.列表的排序
    sort 默認升序排序 ,reverse = true 降序排序
    reverse 水平翻轉

1,列表

pyton內置的一種數據類型是列表:list.list是一種有序集合,可以隨時的添加和刪除其中的元素

列表的增刪改查

 1.增加

 (A)append 在末尾追加元素

         li = ['xiaofei','xiaoming']

         li.append('zhangsan')

        print(li)

        ['xiaofei', 'xiaoming', 'zhangsan']

(B) insert 在指定索引位置插入元素

1

2

3

4

5

6

li = ['xiaofei''hkey']

li.insert(1'zhangsan')    # 注意第一個參數是int類型的索引位置,第二個參數是插入的元素

print(li)

 

# 執行結果:

# ['xiaofei', 'zhangsan', 'hkey']

 

(C) extend(iterable) 等價於 for i in li.append(i) 在列表的最後追加一個可迭代對象

1

2

3

4

5

6

li = ['xiaofei''hkey']

li.extend('jack')  # 等價於 for i in 'jack': li.append(i) 參數是一個可迭代對象

print(li)

 

# 執行結果:

# ['xiaofei', 'hkey', 'j', 'a', 'c', 'k']

2. 刪除

(A) pop(index=None) 返回刪除的元素,默認刪除最後一個

1

2

3

4

5

6

7

8

li = ['xiaofei''hkey']

name = li.pop() # 刪除最後一個元素並獲取到刪除的元素

print(name) # 最後一個元素是 'hkey'

print(li)

 

# 執行結果:

# hkey

# ['xiaofei']

 

(B) remove(value)    按照元素刪除

1

2

3

4

5

6

7

li = ['xiaofei''hkey']

 

li.remove('xiaofei')    # 參數爲指定的元素,刪除指定元素。

print(li)

 

# 執行結果:

# ['hkey']

 

(C) clear()     清空列表

1

2

3

4

5

6

li = ['xiaofei''hkey']

li.clear()

print(li)

 

# 執行結果:

# []

 

(D) del li 刪除li列表

1

2

3

4

5

6

7

li = ['xiaofei''hkey']

del li  # 直接刪除內存中的 li 列表

 

print(li)

 

# 執行結果:

# NameError: name 'li' is not defined

 

(E) del li[:2]    切片刪除

1

2

3

4

5

6

7

li = ['xiaofei''hkey''zhangsan']

 

del li[:2]  # 刪除索引位置 2 之前的元素 [0, 1, 2],不包括 2

print(li)  

 

# 執行結果:

# ['zhangsan']

4. 查詢

列表的查詢可以直接通過切片或者索引直接查詢,也可通過for循環遍歷,能夠被 for 循環遍歷的類型都是可迭代對象;

 

5. 列表排序

(A) 正向排序:sort()

1

2

3

4

5

6

li = [653124]

li.sort()   # 先進行排序,然後在打印列表,正向排序

print(li)

 

# 執行結果:

# [1, 2, 3, 4, 5, 6]

 

(B) 逆向排序: sort(reverse=True)

1

2

3

4

5

6

li = [653124]

li.sort(reverse=True)   # 先進行排序,然後在打印列表,逆向排序

print(li)

 

# 執行結果:

# [6, 5, 4, 3, 2, 1]

 

(C) 反轉: reverse()

1

2

3

4

5

6

li = [653124]

li.reverse()    # 反轉排序,將元素倒過來。

print(li)

 

# 執行結果:

# [4, 2, 1, 3, 5, 6]

 

6. 公共方法

(A) len() 統計列表共有多少元素

1

2

3

4

5

6

li = ['xiaofei''hkey''jay']

 

print(len(li))

 

# 執行結果:

# 3

 

(B) count() 統計同一個元素,在列表中出現幾次

1

2

3

4

5

li = ['xiaofei''hkey''jay''hkey']

print(li.count('hkey')) # 統計同一個元素,在列表中出現幾次。

 

# 執行結果:

# 2

 

(C)  index() 通過索引查找元素信息

1

2

3

4

5

6

li = ['xiaofei''hkey''jay''hkey']

 

print(li.index('hkey')) # 通過元素信息查找索引位置,默認獲取第一個匹配到的元素索引

 

# 執行結果:

# 1

元祖   是隻讀列表
  1.使用()小括號表示.不能增改刪除操作
  tu = tuple()空元祖的表示
  如果元祖只有一個元素(元素,)
  元祖是一個可以迭代的對象,可以使用for循環
  2.range的使用
    range(n) 從0 到n-1
    range(m,n)從m到n-1
    range(m,n,q)從m到n-1 每q個取一個
    綜上就是切片
  3.使用range和for循環來獲取列表中的索引
   for i in range(len(列表)):
    i 索引
    列表[i]元素
元祖,只讀列表,可循環查詢,可切片

因爲元祖不可變,所以代碼更安全,如果可能,在能用元祖代替列表的地方儘量使用元祖

tuple 元組,只讀列表,可循環查詢,可切片

因爲元組不可變,所以代碼更安全。如果可能,能在元組代替列表的地方就儘量使用元組;

1

2

3

4

5

6

7

8

9

# 把 xiaofei 修改爲大寫

 

tu = (1,2,3,['xiaofei''kk'], 'hkey')

 

tu[3][0= tu[3][0].upper()

print(tu)

 

# 執行結果:

# (1, 2, 3, ['XIAOFEI', 'kk'], 'hkey')

 

元組中的可變類型都是可以修改的,例如:list類型

 

字符串和列表之間的相互轉換

列表 -- 字符串  join() 方法

字符串 -- 列表  split() 方法

1

2

3

4

5

6

7

name = ['xiaofei''hkey']

print(''.join(name))    # 以空爲分隔符將列表連接成字符串類型

print('*'.join(name))   # 以*爲分隔符將列表連接成字符串類型

 

# 執行結果:

# xiaofeihkey

# xiaofei*hkey

 

1

2

3

4

5

s1 = 'xiaofei hkey'

print(s1.split())

 

# 執行結果:

# ['xiaofei', 'hkey']

 

range() 的使用

  第一個參數:int類型

  第二個參數:int類型

  第三個參數:int類型,步長

  遵循取頭不取尾的規則

 

(1)循環次數的控制

1

2

3

4

5

6

7

8

# 輸出 3 次 hello, world

for in range(3):

    print('hello, world')

 

# 執行結果:

# hello, world

# hello, world

# hello, world

 

(2)數字規則的輸出

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# 輸出 10 以內的 奇數 或者 偶數

 

# 奇數

print(list(range(2102)))

 

# 執行結果:

# [2, 4, 6, 8]

 

 

# 偶數

print(list(range(1102)))

 

# 執行結果:

# [1, 3, 5, 7, 9]

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章