python基礎 04 列表 元組 字串

2021-10-08 15:21:44 字數 2751 閱讀 4208

列表

1.建立

#建立4×3維列表

x =[[0

for col in

range(3

)]for row in

range(4

)]print

(x,type

(x))

# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

x =[[0

]*3for row in

range(4

)]print

(x,type

(x))

# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

注意

x = [[0] * 3] * 4 (錯誤)

由於list的元素可以是任何物件,因此列表中所儲存的是物件的指標。即使儲存乙個簡單的[1,2,3],也有3個指標和3個整數物件。x = [a] * 4操作中,只是建立4個指向list的引用,所以一旦a改變,x中4個a也會隨之改變。

2.新增元素

list.extend(seq) 在列表末尾一次性追加另乙個序列中的多個值(用新列表擴充套件原來的列表)

3.刪除元素

remove 和 pop 都可以刪除元素,前者是指定具體要刪除的元素,後者是指定乙個索引。

4.列表的其他操作

練習一

# -*- coding: utf-8 -*-

lst =[2

,5,6

,7,8

,9,2

,9,9

]#在列表的末尾增加元素1515)

#在列表的中間位置插入元素20

ind =

len(lst)/2

lst[ind-1]

=20#將列表[2, 5, 6]合併到lst中

lst.extend([2

,5,6

])#移除列表中索引為3的元素

del lst[3]

#翻轉列表裡的所有元素

lst.reverse(

)#對列表裡的元素進行排序,從小到大一次,從大到小一次

lst.sort(

)lst.sort(reverse=

true

)

練習二

leetcode 852. 山脈陣列的峰頂索引

class

solution

(object):

defpeakindexinmountainarray

(self, a)

: lo, hi =0,

len(a)-1

while lo < hi:

mi =

(lo + hi)/2

if a[mi]

< a[mi +1]

: lo = mi +

1else

: hi = mi

return lo

元組

解壓元組

#解壓(unpack)一維元組(有幾個元素左邊括號定義幾個變數)

t =(1,

10.31

,'python'

)(a, b, c)

= tprint

(a, b, c)

# 1 10.31 python

#解壓二維元組(按照元組裡的元組結構來定義變數)

t =(1,

10.31,(

'ok'

,'python'))

(a, b,

(c, d)

)= t

print

(a, b, c, d)

# 1 10.31 ok python

#如果只想要元組其中幾個元素,用萬用字元「*」,英文叫 wildcard,在計算機語言中代表乙個或多個元素。下例就是把多個元素丟給了 rest 變數

t =1,2

,3,4

,5a, b,

*rest, c = t

print

(a, b, c)

# 1 2 5

print

(rest)

# [3, 4]

#如果不在乎 rest 變數,那麼就用萬用字元「*」加上下劃線「_」

t =1,2

,3,4

,5a, b,

*_ = t

print

(a, b)

# 1 2

練習一

# -*- coding: utf-8 -*-

print((

1,2)

*2)print((

1,)*

2)print((

1)*2

)#(1, 2, 1, 2)

#(1, 1)

#2

練習二

拆包: 對於函式中的多個返回資料, 去掉元組, 列表 或者字典 直接獲取裡面資料的過程.

a, b = 1, 2

#等價於 a,b = (1,2)

字串

字串的常用內建方法

python之路 04 列表 元組

1 增加 2 刪 1.pop 預設從後向前 pop 1 刪除1 位置的元素 2.remove 刪除指定元素 不存在時報錯 3.del 列表 3 用索引或切片刪除 4.clear 清空 3 改 索引修改 改完要塞回去 1.列表 3 把 3 位置的改成 2.列表 1 3 切片修改 3.列表 1 5 2 ...

04 列表和元組

今日主要內容 1.什麼是列表 定義 能裝物件的物件 在python中使用來描述列表,內部元素用逗號隔開.對資料型別沒有要求 列表存在索引和切片.和字串是一樣的.2.相關的增刪改查操作 重點 新增 2.insert 位置,元素 插入指定元素到指定位置 刪除 1.pop index 根據索引刪除 2.r...

Python學習Task04 列表 元組和字串

列表 答 1.lst 2 5,6 7,8 9,2 9,9 15 lst.insert 4,20 lst.extend 2 5,6 lst.pop 3 lst.reverse lst.sort lst.sort reverse true lst 1 4,6 true lst 0 lst 0 2lst ...