day5 數字與列表

2021-10-12 02:56:00 字數 4716 閱讀 5766

1.int - 所有整數對應的型別

表示:數字直接寫

轉換:int(資料)

不是所有的資料都可以轉換成整數,只有浮點數、布林、部分字串

print(int(12.7))

print(int(-1.9))

print(int(true))

print(int(false))

print(int('asd'))   # 報錯

print(int('1234'))

print(int('12.5')) # 報錯

2.float - 所有小數對應的型別

表示:直接表示,支援科學計數法

2)轉換:float(資料)

不是所有資料都可以轉換成浮點型,只有整數、布林和部分字串可以轉

print(float(10))  # 10.0

print(float(123)) # 123.0

print(float(true)) # 1.0

print(float('abc'))  # 報錯

print(float('1.2')) # 1.2

print(float('3e4')) # 30000.0

表示:直接寫 - true、false

轉換:bool(資料)

所有的資料都可以轉換成布林;零值和空值會轉換成false,其他的都是true

print(bool(-123))  # true

print(bool(0)) # false

print(bool('')) # false

print(bool()) # false

print(true + 1) # 2

print(false*10) # 0

1)虛部單位是:j

2)虛部的1不能省

3)直接支援複數的運算

num1 = 10 + 20j

print(1j**2) # (-1+0j)

num2 = 3 - 5j

print(num1 + num2) # 13 + 15j

print(num1 * num2) # 130 + 10j

1.什麼是列表(list)

列表是容器型資料型別,將作為容器的標誌,裡面多個元素用逗號隔開:[元素1,元素2,元素3,…]

元素:列表中的元素可以是任何型別的資料;同乙個列表中的元素的型別可以不同

作為容器的特點:可變的(指的是元素的個數、元素的值和元素的順序可變);有序的(元素有表示順序的編號)

# a是乙個空列表

b = [100, 200, true, 'abc']

c = [100, 200, [1, 2]]

語法:列表[下標] - 獲取指定下標對應的元素

說明:列表 - 任何結果是列表的表示式(具體的列表資料、儲存列表資料的變數、…)

- 固定寫法

下標 - 又叫索引;它在元素在容器中的位置標誌(元素在容器的順序值)

下標值得範圍有兩種:

1)從0開始不斷加1的下標值,其中0表示第乙個、1表示第二個、…

2)從-1開始不斷減1的下標值,其中-1表示倒數第乙個,-2表示倒數第二個、…

注意:下標不能越界

list1 = [10, 20, 30, 'abc']

print(list1[1], list1[-3]) # 獲取列表list1中的20

語法:列表[開始下標:結束下標:步長]

規則:a.如果步長為正,表示從前往後取(開始下標到結束下標),開始下標對應的元素能取到,結束下標對應的元素取不到

1)省略步長:列表[開始下標:結束下標]

省略步長久相當於步長為1:列表[開始下標:結束下標] == 列表[開始下標:結束下標:1]

names = ['海賊王', '火影忍者', '死神', '妖精的尾巴', '柯南', '犬夜叉', '進擊的巨人', '一人之下']

print(names[1:-2])

2)省略開始下標:列表[:結束下標:步長] / 列表[:結束下標]

如果步長為正,省略開始下標表示從第乙個元素開始往後取,取到結束下標對應的位置

如果步長為負,省略開始下標表示從最後乙個元素開始往前取,取到結束下標對應的位置

3)省略結束下標:列表[開始下標:步長] /列表[開始下標:]

如果步長為正,省略結束下標,從開始下標取到最後乙個元素

如果步長為負,省略結束下標,從開始下標取到第乙個元素

4)同時省略開始下標和結束下標:列表[::步長] /列表[:]

開始下標和結束下標都省,那麼整個選擇範圍就是原列表

print(names[::-1])

print(names[::-2])

for 變數 in 列表:

迴圈體(變數取到的就是列表中的元素)

方法二:通過遍歷獲取所有元素的下標來遍歷元素

for 變數 in range(列表長度):

列表[變數]

直接獲取元素

games = ['鬥地主', '歡樂麻將', '開心消消樂', '三國殺', '王者榮耀']

for x in games:

print('x:', x)

直接獲取下標,通過下標獲取元素(掌握)

len(列表) - 獲取列表中元素的個數

for index in range(len(games)):

print('下標:', index, '元素:', games[index])

同時獲取下標和元素

for index, item in enumerate(games):

print('下標', index, '元素', item)

names = ['余婷', '張瑞燕', '迪麗熱巴', '古力娜扎']

print(names)

print(names)

2)列表.insert(下標, 元素) - 在指定下標對應的元素前插入指定元素

names.insert(2, '楊冪')

print(names)

names.insert(0, '胡歌')

print(names)

names.insert(-1, '彭于晏')

print(names)

del 列表[下標] - 刪除列表中指定下標對應的元素(下標不能越界)

names = ['胡歌', '余婷', '張瑞燕', '楊冪', '迪麗熱巴', '古力娜扎', '彭于晏', '蔡徐坤']

del names[3]

print(names)

列表.remove(元素) - 刪除列表中指定的元素

names = ['胡歌', '余婷', '張瑞燕', '楊冪', '迪麗熱巴', '古力娜扎', '彭于晏', '蔡徐坤']

names.remove('蔡徐坤')

print(names)

列表.pop() - 取出列表中最後乙個元素

列表.pop(下標) - 取出列表中指定下標對應的元素,並返回

names = ['胡歌', '余婷', '張瑞燕', '楊冪', '迪麗熱巴', '古力娜扎', '彭于晏', '蔡徐坤']

del_name = names.pop()

print(names, del_name)

del_name = names.pop(-2)

print(names, del_name)

語法:列表[下標] - 新元素 - 修改指定下標對應的元素(下標不能越界)

teleplays = ['琅琊榜', '亮劍', '慶餘年', '愛情公寓', '人民的名義', '甄嬛傳']

teleplays[3] = '愛情公寓4'

print(teleplays)

# 作業1:用乙個列表儲存學生的分數,刪除列表中所有低於60分的成績

# scores = [90, 45, 52, 10, 89, 67, 55, 32, 69, 100]

# 最終結果: [90, 89, 67, 69, 100]

scores = [90, 45, 52, 10, 89, 67, 55, 32, 69, 100]

for index, item in enumerate(scores):

print('成績:', item)

if item < 60:

del scores[index]

print(scores)

for index, item in enumerate(scores):

print('成績:', item)

if item < 60:

del scores[index]

print(scores)

Day5數字和列表 知識點總結

浮點數轉化成整數,直接去掉小數點部分,保留整數部分 print int 12.5 print int 1.9 print int 1.9 布林轉整數 print true print false 字串轉整數 去掉引號以後本身就是乙個整數的字串才能轉換成整數 print int abd 報錯 prin...

day5 列表作業

1.已知乙個數字列表,求列表中心元素。nums 10 20,1 6,84 45,64 84 length len nums iflen nums 1 print nums int length 2 else print nums int length 2 1 nums int length 2 2....

day5 列表作業

1.已知乙個數字列表,求列表中心元素。def example l none ifnot len l 1 return l len l 1 1 l len l 1 else return l len l 1 a list map int input 輸入列表 split print example a...