dya6 列表的相关函数
列表的相關函數
列表(序列)相關函數:max、min、sum、len、sored、reversed、list
max(序列): - 獲取序列中最大的元素(序列中的元素本身必須支持比較運算,并且元素之間可以比較大小)
例如:
nums = [50, 46, 52, 9, 13] print(max(nums)) # 52min(序列) - 獲取序列中最小的元素
例如:
print(min(nums)) # 9sum(序列) - 求序列中所有元素的和(序列中的元素必須是數字)
例如:
print(sum(nums)) # 170len(序列) - 求序列中元素的個數
例如:
print(len([10, 20 , 'ace', [10, 20], range(3)])) # 5sorted(序列) - 將序列中的元素從小到大排序,返回一個排完序以后的新列表
sorted(序列,reverse=True) - 將序列中的元素從大到小排序,返回一個排完的新列表
例如:
nums = [50, 46, 52, 9, 13] new_nums = sorted(nums) print(nums, new_nums)new_nums = sorted(nums, reverse=True) print(nums, new_nums)reversed(序列) - 將序列中的元素倒序,產生一個新的迭代器(序列)
例如:
nums = [50, 46, 52, 9, 13] reversed(nums) print(nums)list(序列) - 將其他序列轉換成列表list(序列) - 將其他序列轉換成列表
例如:
print(list('ace')) print(list(range(1, 4)))列表相關方法
例如:
names = ['羅小黑戰記', '海賊王', '一人之下', '進擊的巨人', '死亡筆記'] names.clear() print(names) # []例如:
names = ['羅小黑戰記','海賊王','一人之下','進擊的巨人','死亡筆記'] new_names = names.copy() print(new_names) #['羅小黑戰記', '海賊王', '一人之下', '進擊的巨人', '死亡筆記']例如:
names = ['羅小黑戰記', '海賊王', '海賊王', '海賊王', '一人之下', '進擊的巨人', '死亡筆記'] print(names.count('死亡筆記')) # 1 print(names.count('死神')) # 0 print(names.count('海賊王')) # 3例如:
names = ['羅小黑戰記', '海賊王', '一人之下', '進擊的巨人', '死亡筆記'] names.extend(['妖精的尾巴']) print(names)例如:
names = ['羅小黑戰記', '海賊王', '一人之下', '進擊的巨人', '死亡筆記'] print(names.index('一人之下')) # 2 # print(names.index('火影忍者')) # 報錯:ValueError: '火影忍者' is not in list print(names.index('海賊王')) # 多個只獲取第一個例如:
names = ['羅小黑戰記', '海賊王', '一人之下', '進擊的巨人', '死亡筆記'] names.reverse() print(names) # ['死亡筆記', '進擊的巨人', '一人之下', '海賊王', '羅小黑戰記']例如:
nums = [10, 32, 90, 40, 70, 50] names.sort() print(nums) # [10, 32, 90, 40, 70, 50]列表推導式
列表推導式 - 用來創建列表的表達式
推導式的引用:創建列表、元素篩選、元素的變換
例如:
list1 = [x for x in range(4)] print(list1) # [0, 1, 2, 3]list2 = [2*x + 3 for x in range(4)] print(list2) # [3, 5, 7, 9]list3 = [x*2 for x in 'abc'] print(list3) # ['aa', 'bb', 'cc']練習:已知列表scores = [89, 34, 56, 23, 90, 100],將列表中的成績轉換成十分制的值
scores = [89, 34, 56, 23, 90, 100] y = [x/10 for x in scores] print(y) # [8.9, 3.4, 5.6, 2.3, 9.0, 10.0]? 2. 推導式通用格式2
[表達式 for 變量 in 序列 if 條件語句]原理: list1 = [] for 變量 in 序列:if 條件語句:list1.append(表達式)例如:
nums = [23, 89, 80, 25, 9, 13] new_nums = [x for x in nums if x % 2 != 0] print(new_nums)list1 = [12, 'abc', True, 0, 0.00, 0.02, '', [], [1,2]] y = [x for x in list1 if x] print(y) # [12, 'abc', True, 0.02, [1, 2]]補充:三目運算符
C的三目運算:
表達式1?表達式2:表達式3 -> 如果表達式1的值是0整個運算表達式的結果是表達式3,
否則整個運算表達式的解說是2
變量 = 表達式2 if 表達式1 else 表達式3
總理
整體變化 - 將原序列中的元素通過統一的規則轉換成一個新的序列
方案:
[表達式 for 變量 in 序列] - 表達式 用來描述新序列中的元素和原序列元素之間的規則 nums = [23, 40, 50, 45, 13, 933] result = [x % 10 for x in nums] print(result) # [3, 0, 0, 5, 3, 3]部分變換(按照兩種不同的方式變換)
方案:
[三目運算 for 變量 in 序列] list1 = [933, 'ace', 45, '123', [10,30], 1.45] list2 = [x*10 if type(x) in [int, float] else x for x in list1] print(list2) # [9330, 'ace', 450, '123', [10, 30], 14.5]篩選、刪除
方案:
[表達式 for 變量 in 序列 if 條件語句] score = [56, 50, 78, 89, 42, 30] result = [x for x in score if x >= 60] print(result) # [78, 89]作業
1.創建一個列表,列表中有10個數字, 保證列表中元素的順序,對列表進行排重,并對列表使用進行降序排序
nums = [70, 88, 91, 70, 107, 234, 91, 177, 282, 197] nums1 = [] for x in nums:if x not in nums1:nums1.append(x)nums1 = sorted(nums1, reverse=True)print(nums1)2.利用列表推導式, 完成以下需求
a. 生成一個存放1-100中各位數為3的數據列表
z = [x for x in range(3, 103, 10)] print(z)b. 利用列表推到是將 列表中的整數提取出來
list1 =[True, 17, "hello", "bye", 98, 34, 21] z = [x for x in list1 if type(x) == int] print(z)c.利用列表推導式 存放指定列表中字符串的長度
list1 =[True, 17, "hello", "bye", 98, 34, 21] z = [x for x in list1 if type(x) == int] print(z)d. 利用列表推導式刪除列表中整數個位數小于5的元素
k = [24, 'abc', 99, True, 21, 38, 'hello'] z = [x for x in k if type(x) != int or type(x) == int and x % 10 > 5] # type(x) == int and x % 10 > 5 print(z)3.已知代碼如下,請回答出各個print的結果 并說明原因
nums = [17, 39, 28, 51] nums2 = nums nums2.pop() print(len(nums)) """ nums = [17, 39, 28, 51] nums2 = [17, 39, 28, 51] nums2 = [17, 28, 28] print = len nums == 17 39 28 == 3 """總結
以上是生活随笔為你收集整理的dya6 列表的相关函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Microsoft软件保护平台服务一直占
- 下一篇: Matlab绘制跳动的心