列表和元祖

2021-10-09 20:33:25 字數 4834 閱讀 8053

練習:刪除指定分數列表中所有低於60分的成績

scores1 = [98, 45, 34, 89, 23, 67, 23, 9, 54, 100, 78]

scores = [98, 45, 34, 89, 23, 67, 23, 9, 54, 100, 78]

scores1 = scores.copy()   scores1 = score[:]  scores1 = scores*1  scores1 = scores + 

for x in scores:

if x < 60:

scores1.remove(x)

print(scores1)

scores = [98, 45, 34, 89, 23, 67, 23, 9, 54, 100, 78]

score = 98: 98<60 - false

score = 45: 45<60 -true - 執行remove

score = 89: 89<60 - false

scores = [98, 45, 34, 89, 23, 67, 23, 9, 54, 100, 78]

for index, s in range(len(scores)):

if scores[index] < 60:

del scores[index]

print[scores]會出現越界錯誤

原因和上面一樣,刪除之後列表會變化,最後導致列表變短,無法執行所有迴圈

scores = [98, 45, 34, 89, 23, 67, 23, 9, 54, 100, 78]

index = 0

while true:

s = scores[index]

if s < 60:

del scores[index]

else:

index += 1

if index >= len(scores):

break

print(scores)

index = 0, scores = 98, 不滿足 執行else +=1 變為2

index = 1, scores = 45, 滿足 執行if 刪除

index = 1, scores = 34, 滿足, 執行if 刪除

index = 1 scores = 89, 不滿足 執行 else +=1 變為3

index = 2 …

列表[開始下標:結束下標:步長] - 從開始下標開始獲取到結束下標為止,每次增加步長

注意:1)列表切片的結果一定是列表

2)結束下表對應的元素一定取不到

3)如果步長為正,表示從前往後取,這個時候開始下標對應的元素必須在結束下標對應元素的前面,否則結果為空

4)如果步長未負,表示從後往前取,這個時候開始下標對應的元素必須在結束下標對應元素的後面,否則結果為空

list1 = [23, 45, 67, 89, 67, 32]

print(list1[1:4:1]) # [45, 67, 89]

print(list1[0:6:2]) # [23, 67, 67]

print(list1[3:3:1]) #

print(list1[1:4:-1]) #

print(list1[5:1:-1]) # [32, 67, 89, 67]

print(list1[-2:1:-2]) # [67, 67]

列表(開始下標:結束下標) - 省略步長,步長就是:1

fruits = ['橘子', '葡萄', '獼猴桃', ' 桃子', '西瓜']

print(fruits[-3:-1]) # ['獼猴桃', ' 桃子']

print(fruits[-1:2]) #

列表[:結束下標:步長]

步長為正 - 從開始第乙個元素開始往後取(相當於開始下標是0)

步長為負 - 從最後乙個元素開始往前取(相當於開始下標是-1)

fruits = ['橘子', '葡萄', '獼猴桃', ' 桃子', '西瓜']

print(fruits[:3]) # ['橘子', '葡萄', '獼猴桃']

print(fruits[:2:-2]) # ['西瓜']

列表[開始下標::步長]

步長為正:從前往後取到最後乙個元素為止

步長未負:從後往前取到第乙個元素為止

fruits = ['橘子', '葡萄', '獼猴桃', ' 桃子', '西瓜']

print(fruits[2:]) # ['獼猴桃', ' 桃子', '西瓜']

print(fruits[-3::-1]) # ['獼猴桃', '葡萄', '橘子']

print(fruits[2::-2]) # ['獼猴桃', '橘子']

print(fruits[:]) # ['橘子', '葡萄', '獼猴桃', ' 桃子', '西瓜']

print('hello'[1:4])

list1 = [10, 20, 30]

list2 = [100, 200]

list3 = list1 + list2

print(list3) # [10, 20, 30, 100, 200]

list1 = [10, 20, 30]

list4 = list1 * 3

print(list4)

list11 = [1, 2, 3, 4, 5]

list22 = [10, 20]

print(list11 > list22) # false

print([1, 2, 3] == ['abc'])   # false
結果為 true 或者 false
print(10 in [1, 20, 10, 4])  # true

print(10 in [1, 20, [10, 4]]) # false

練習:獲取兩個列表中公共的元素

a = [1, 2, 5, 10, 3, 2]

b = [5, 2, 10, 20, 32]

c =

for x in a:

if x in b:

if x not in c:

else:

continue

print(c)

for x in a:

if x in b and x not in c:

print(c)

scores = [23, 43, 54, 65, 2, 3]

print(sum(scores))

print(max(scores))

print(min(scores))

scores = [23, 43, 54, 65, 2, 3]

new_scores = sorted(scores)

print(new_scores) # [2, 3, 23, 43, 54, 65]

new_scores1 = sorted(scores, reverse=true)

print(new_scores1) # [65, 54, 43, 23, 3, 2]

print(len(scores))   # 6
5) list(資料) - 將指定資料轉換成列表(資料必須是序列),轉換的時候會把序列中的元素作為新的列表中的元素
print(list('abc'))   # ['a', 'b', 'c']

print(list(range(5))) # [0, 1, 2, 3, 4]

names = ['海賊王', '火影忍者', '銀魂']

names. clear()

print(names)

names = ['海賊王', '火影忍者', '銀魂']

new_names = names.copy()

print(id(names), id(new_names))

nums = [1, 2, 3, 5, 1, 2, 1, 1]

print(nums.count(1))

names = ['海賊王', '火影忍者', '銀魂']

names.extend(['妖精的尾巴', '家庭教師reborn'])

print(names)

names = ['海賊王', '火影忍者', '銀魂']

print(names.index('銀魂'))

names = ['海賊王', '火影忍者', '銀魂']

names.reverse()

print(names)

nums = [1, 2, 3, 5, 1, 2, 1, 1]

re = nums.sort()

print(nums) # [1, 1, 1, 1, 2, 2, 3, 5]

nums.sort(reverse=true)

print(nums) # [5, 3, 2, 2, 1, 1, 1, 1]

print(re) # none 沒有產生新列表的證據

列表和元祖

序列 序列是python中最基本的資料結構。序列中的每個元素都分配乙個數字 它的位置或索引,第乙個索引是0,第二個索引是1,以此類推。索引 從0開始,最後是 1,資料型別為整型 int 元素 列表和元組的元素可以是不同資料型別,可重複。python中,常見序列有列表 元組 字串。通用序列操作 索引 ...

Python 列表和元祖

在python中,最基本的資料結構是序列,序列包含 其他的內建序列型別有 一 通用序列操作 所有的序列型別都可以進行某些特定的操作。這些操作包括 索引 分片 加 乘及檢查某個元素是否屬於序列的成員。1.1 索引 name hongxue name 0 h name 0 3 hon 這就是索引,字串是...

python 列表和元祖

count item 表示統計列表 元組中 item 出現的次數。l 1,2,3,4,item 45,item print l print l 0 l 3 99 print l print l.count item index item 表示返回列表 元組中 item 第一次出現的索引。l 1,2,...