Python 列表List的定義及操作

#   列表概念:有序的可變的元素集合#   定義
#   直接定義
nums = [1,2,3,4,5]#   通過range函數構造,python2 和python3 版本之間的差異;
#   python3 用的時候才會去構造
nums = range(1,101)#   列表嵌套
#   注意和C語言中數組的區別,是否可以存放不同的數據類型
nums = [1,2,"ab","1",True,["a","b","c"]]#   列表賦值給另外一個列表
#   原始的方式
nums = [1,2,3,4,5]
resultList = []
for num in nums:resultList.append(num ** 2)
print(resultList)   # [1, 4, 9, 16, 25]#   列表推導式
nums = [1,2,3,4,5]
#   [表達式 for 變量 in 列表]
resultList = [num ** 2 for num in nums]
print(resultList)   # [1, 4, 9, 16, 25]#   [表達式 for 變量 in 列表 if 條件]
resultList = [num ** 2 for num in nums if num % 2 != 0]
print(resultList)   # [1, 9, 25]#   列表的增,刪,改,插#-------------------------------------增------------------------------------#
#     append
#         作用
#             往列表中, 追加一個新的元素
#             在列表的最后
#         語法
#             l.append(object)
#         參數
#             object
#                 想要添加的元素
#         返回值
#             None
#         注意
#             會直接修改原數組
nums = [1, 2, 3, 4]
nums.append(5) # 無返回值 none
print(nums) #   [1, 2, 3, 4, 5]#     insert
#         作用
#             往列表中, 追加一個新的元素
#             在指定索引前面
#         語法
#             l.insert(index, object)
#         參數
#             index
#                 索引, 到時會插入到這個索引之前
#             object
#                 想要添加的元素
#         返回值
#             None
#         注意
#             會直接修改原數組
nums = [1, 2, 3, 4]
nums.insert(2, 5)
print(nums) #   [1, 2, 5, 3, 4]
#     extend
#         作用
#             往列表中, 擴展另外一個可迭代序列
#         語法
#             l.extend(iterable)
#         參數
#             iterable
#                 可迭代集合
#                     字符串
#                     列表
#                     元組
#                     ...
#         返回值
#             None
#         注意
#             會直接修改原數組
#             和append之間的區別
#                 extend可以算是兩個集合的拼接
#                 append是把一個元素, 追加到一個集合中
nums = [1, 2, 3, 4]
nums2 = ["a", "b", "c"]
nums.extend(nums2)
print(nums) #   [1, 2, 3, 4, 'a', 'b', 'c']#     乘法運算
#         ["a"] * 3
#             =
#                 ['a', 'a', 'a']
nums = [1, 2]
print(nums * 2) #   [1, 2, 1, 2]#     加法運算
#         ["a"] + ["b", "c"]
#             =
#                 ["a", "b", "c"]
#         和extend區別
#             只能列表類型和列表類型相加

n1 = [1, 2]
n2 = ["a", "b"]
n3 = ["abc", "cdf"]
print(n1 + n2); #[1, 2, 'a', 'b']
print(n1 + n3); #[1, 2, 'abc', 'cdf']# ------------------------------------------刪------------------------------#
#     del 語句
#         作用
#             可以刪除一個指定元素(對象)
#         語法
#             del 指定元素
#         注意
#             可以刪除整個列表
#                 刪除一個變量
#             也可以刪除某個元素
nums = [1, 2, 3, 4]
del nums[1]
print(nums) #   [1, 3, 4]#del nums #這樣也行
#print(nums)#程序會報錯#     pop
#         作用
#             移除并返回列表中指定索引對應元素
#         語法
#             l.pop(index=-1)
#         參數
#             index
#                 需要被刪除返回的元素索引
#                 默認是-1
#                     也就對應著列表最后一個元素
#         返回值
#             被刪除的元素
#         注意
#             會直接修改原數組
#             注意索引越界
nums = [1, 2, 3, 4]
nums.pop() #默認-1
print(nums)#     remove
#         作用
#             移除列表中指定元素
#         語法
#             l.remove(object)
#         參數
#             object
#                 需要被刪除的元素
#         返回值
#             None
#         注意
#             會直接修改原數組
#             如果元素不存在
#                 會報錯
#             若果存在多個元素
#                 則只會刪除最左邊一個
#             注意循環內刪除列表元素帶來的坑

nums = [1, 2, 2, 3, 4]
nums.remove(2) #則只會刪除最左邊一個
print(nums) #[1, 2, 3, 4]# ---------------------------------------------改----------------------------------------#
#     names[index] = 666

nums = [1, 2, 3]
nums[1] = 5
print(nums) #[1, 5, 3]#--------------------------------------------- 查----------------------------------------#
#     獲取單個元素
#         items[index]
#             注意負索引
nums = [1, 2, 3]
print(nums[-1]) # 3#     獲取元素索引
#         index()
nums = [1, 2, 5, 3, 4]
print(nums.index(5))  # 2#     獲取指定元素個數
#         count()
nums = [1, 2, 5, 2, 3, 4]
print(nums.count(2) ) #2#     獲取多個元素
#         切片
#             items[start:end:step]
#     遍歷
#         方式1
#             根據元素進行遍歷
#                 for item in list:
#     print(item)
#         方式2
#             根據索引進行遍歷
#                 for index in range(len(list)):
#     print(index, list[index])
#         方式3(了解)
#             創建對應的枚舉對象
#                 概念
#                     通過枚舉函數, 生成的一個新的對象
#                 作用
#                     函數用于將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列
#                     同時列出數據下標和數據
#                 語法
#                     enumerate(sequence, [start=0])
#                             sequence -- 一個序列、迭代器或其他支持迭代對象。
#                             start -- 下標起始位置。
#                 舉例
#                     l = ["a", "b", "c"]
#                     enumerate(l, 1)
#                         一個待枚舉的對象
#                         轉換成為list之后, 具體數據如下
#                             [(1, 'a'), (2, 'b'), (3, 'c')]
#             遍歷枚舉對象
#                 for index, value in 枚舉對象:
#     print(index, value)
#         方式4(了解)
#             使用迭代器進行遍歷
#                 iterL = iter(list)
#                 for item in iterL:
#     print(item)# 訪問集合的方式-迭代器
#     概念
#         迭代
#             是訪問集合元素的一種方式
#             按照某種順序逐個訪問集合中的每一項
#         可迭代對象
#             能夠被迭代的對象, 稱為可迭代對象
#             判定依據
#                 能作用于for in
#             判定方法
#                 import collections
#                 isinstance(obj, collections.Iterable)
#         迭代器
#             是可以記錄遍歷位置的對象
#             從第一個元素開始, 往后通過next()函數, 進行遍歷
#             只能往后, 不能往前
#             判定依據
#                 能作用于next()函數
#             判定方法
#                 import collections
#                 isinstance(obj, collections.Iterator)
#         注意
#             迭代器也是可迭代對象, 所以也可以作用于for in
#     為什么會產生迭代器?
#         1. 僅僅在迭代到某個元素時才處理該元素
#             在此之前, 元素可以不存在
#             在此之后, 元素可以被銷毀
#             特別適合用于遍歷一些巨大的或是無限的集合
#                 例如 "菲波那切數列"
#         2. 提供了一個統一的訪問集合的接口
#             可以把所有的可迭代對象, 轉換成迭代器進行使用
#             iter(Iterable)
#                 iter(str)
#                 iter(list)
#                 iter(tuple)
#                 iter(dict)
#                 ...
#     迭代器簡單使用
#         使用next()函數, 從迭代器中取出下一個對象, 從第1個元素開始
#         因為迭代器比較常用, 所以在Python中, 可以直接作用于for in
#             內部會自動調用迭代器對象的next()
#             會自動處理迭代完畢的錯誤
#     注意事項
#         如果取出完畢,再繼續取, 則會報錯
#             StopIteration
#         迭代器一般不能多次迭代import collectionsnums = [1, 2, 3]
result = isinstance(nums, collections.Iterable)
print(result)   # True
result = isinstance(nums, collections.Iterator)
print(result)   # Flase#   轉為迭代器
it = iter(nums)for v in it:print(v)# 判定
#     元素 in  列表
#     元素 not in 列表# 比較
#     cmp()
#         內建函數
#         如果比較的是列表, 則針對每個元素, 從左到右逐一比較
#             左 > 右
#                 1
#             左 == 右
#                 0
#             左 < 右
#                 -1
#         Python3.x不支持
#     比較運算符
#         ==
#         >
#         <
#         ...
#         針對每個元素, 從左到右逐一比較# 排序
#     方式1
#         內建函數
#             可以對所有可迭代對象進行排序
#         語法
#             sorted(itrearble, key=None, reverse=False)
#         參數
#             itrearble
#                 可迭代對象
#             key
#                 排序關鍵字
#                 值為一個函數,此函數只有一個參數且返回一個值用來進行比較
#             reverse
#                 控制升序降序
#                 默認False
#                     升序
#         返回值
#             一個已經排好序的列表
#             列表類型
s = "cdefga"
result = sorted(s);
print(result)   #['a', 'c', 'd', 'e', 'f', 'g']

s = [2,3,1,4,5]
result = sorted(s, reverse = True)
print(result)   #[5, 4, 3, 2, 1]

s = [("a", 16), ("a1",13), ("a2", 14)]
result = sorted(s)
print(result) #[('a', 16), ('a1', 13), ('a2', 14)]#按元組的第一個元素來排序
def getKey(x):return x[1]
result = sorted(s, key=getKey)
print(result)   #[('a1', 13), ('a2', 14), ('a', 16)]#     方式2
#         列表對象方法
#         語法
#             list.sort(key=None, reverse=False)
#         參數
#             key
#                 排序關鍵字
#                 值為一個函數,此函數只有一個參數且返回一個值用來進行比較
#             reverse
#                 控制升序降序
#                 默認False
#                     升序

s = [2,3,1,4,5]
res = s.sort()
print(res, s) # None [1, 2, 3, 4, 5]    注意和內建函數的方法不同點;# 亂序
#     可以隨機打亂一個列表
#         導入random模塊
#             import random
#         random.shuffle(list)import random
list = [1, 2, 3, 4, 5]
res = random.shuffle(list)
print(res, list)    #None [4, 3, 5, 2, 1] 后面序列隨機,修改原序列的本身# 反轉
#     l.reverse()
list = [1, 2, 3, 4, 5]
res = list.reverse()
print(res, list)    #None [5, 4, 3, 2, 1]#     切片反轉
#         l[::-1]
list = [1, 2, 3, 4, 5]
res = list[::-1]
print(res, list) #[5, 4, 3, 2, 1] [1, 2, 3, 4, 5]

?

轉載于:https://www.cnblogs.com/delphiclub/p/8460575.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390179.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390179.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

遞歸分解因數

題目總時間限制: 1000ms 內存限制: 65536kB描述給出一個正整數a&#xff0c;要求分解成若干個正整數的乘積&#xff0c;即a a1 * a2 * a3 * ... * an&#xff0c;并且1 < a1 < a2 < a3 < ... < an&#xff0c;問這樣的分解的種數有多少。注意到a a也是一種分解…

劍指 Offer 51. 數組中的逆序對

劍指 Offer 51. 數組中的逆序對 在數組中的兩個數字&#xff0c;如果前面一個數字大于后面的數字&#xff0c;則這兩個數字組成一個逆序對。輸入一個數組&#xff0c;求出這個數組中的逆序對的總數。 示例 1: 輸入: [7,5,6,4] 輸出: 5 限制&#xff1a; 0 < 數組長度 &…

react 圖像識別_無法在React中基于URL查找圖像

react 圖像識別If youre new to React and are having trouble accessing images stored locally, youre not alone.如果您不熟悉React&#xff0c;并且無法訪問本地存儲的圖像&#xff0c;那么您并不孤單。 Imagine you have your images stored in a directory next to a co…

html單行元素居中顯示,多行元素居左顯示

有很多的業務需要元素或者文字如果單行&#xff0c;居中顯示&#xff0c;如果數據增多&#xff0c;居中顯示代碼&#xff08;直接復制到編輯器可用&#xff09;&#xff1a;<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&q…

ML.NET 0.2版增加了集群和新示例

在今年的Build大會上&#xff0c;微軟首次發布了ML.NET。ML.NET是開源的、跨平臺的以及運行在.NET上的機器學習框架。微軟的Ankit Asthana宣布該項目已經完成了第二版的開發。第二版增加了幾個新功能&#xff0c;包括名為集群的新機器學習任務&#xff0c;交叉驗證和訓練-測試&…

如何變得井井有條-來之不易的秘訣來組織您的生活

Because of the changes brought about by COVID-19, many people have had to find healthy and productive ways of working remotely. 由于COVID-19帶來的變化&#xff0c;許多人不得不尋找健康有效的遠程工作方式。 Some have been sent home and can continue doing thei…

被未知進程占用端口的解決辦法

echo off echo 這是用來結束一個未知進程占用端口的批處理可執行文件ipconfig /allnetstat -anoecho 請查看以上信息&#xff0c;輸入被占用的端口號:set /p port請輸入port:tasklist|findstr %port%echo 請結合上述程序進行輸入&#xff0c;請**謹慎輸入**set /p program請輸入…

怎樣在減少數據中心成本的同時不犧牲性能?

2019獨角獸企業重金招聘Python工程師標準>>> 導讀雖然組織對數據中心提出了更高的要求&#xff0c;但IT管理人員確實有辦法在嚴格的預算內展開工作。如今&#xff0c;組織認為即使性能預期不斷提高&#xff0c;其數據中心預算也在縮減。盡管2018年IT支出總體預計增長…

賽普拉斯 12864_如何使用賽普拉斯自動化輔助功能測試

賽普拉斯 12864In my previous post, I covered how to add screenshot testing in Cypress to ensure components dont unintentionally change over time. 在上一篇文章中 &#xff0c;我介紹了如何在賽普拉斯中添加屏幕截圖測試&#xff0c;以確保組件不會隨時間變化。 Now…

anaconda在win下和在mac下的安裝區別

1. 在win下安裝anaconda后會提示你選擇環境變量&#xff0c;但是建議使用默認。 于是CMD進入終端和使用navigator進入終端不一樣&#xff0c;前者會提示無此命令&#xff0c;只能通過navigator進入終端 即使在系統變量變量Path里添加了路徑&#xff0c;使用CMD還是不能使用pyth…

fcn從頭開始_如何使用Go從頭開始構建區塊鏈

fcn從頭開始介紹 (Introduction) With Web 3.0 and blockchain becoming more mainstream every day, do you know what blockchain is? Do you know its technical advantages and use-cases?隨著Web 3.0和區塊鏈每天變得越來越主流&#xff0c;您知道什么是區塊鏈嗎&#x…

java實現無序數組結構

一、數組的2種定義方式 數據類型 [] 數組名稱 new 數據類型[數組長度]; 這里 [] 可以放在數組名稱的前面&#xff0c;也可以放在數組名稱的后面&#xff0c;一般放在名稱的前面 數據類型 [] 數組名稱 {數組元素1&#xff0c;數組元素2&#xff0c;......} 這種方式聲明數組的…

Android App 的主角:Activity

Android App 程序主要由4種類型組成&#xff1a; 1.Activity&#xff08;活動&#xff09;&#xff1a;主要負責屏幕顯示畫面&#xff0c;并處理與用戶的互動。每個Android App至少都會有一個Activity&#xff0c;在程序一啟動時顯示主畫面供用戶操作。 2.Service&#xff08;后…

通過構建Paint App學習React Hooks

According to people in the know, React Hooks are hot, hot, hot. In this article, we follow Christian Jensens 14-part tutorial to find out about the basics of this new feature of React. Follow along to find out more! 據知情人士稱&#xff0c;React Hooks很熱&…

正則表達式 匹配常用手機號 (13、15\17\18開頭的十一位手機號)

原文:正則表達式 匹配常用手機號 &#xff08;13、15\17\18開頭的十一位手機號&#xff09;^1[3578]\d{9}$ ^1表示以1開頭&#xff0c;[3578]表示第二位的數字為3578中的任意一個&#xff0c;\d{9}表示0~9范圍內的數字匹配九次,$表示結束&#xff0c;12位以上的數字不匹配。

Npoi導出excel整理(附源碼)

前些日子做了一個簡單的winform程序&#xff0c;需要導出的功能&#xff0c;剛開始省事直接使用微軟的組件&#xff0c;但是導出之后發現效率極其低下&#xff0c;絕對像web那樣使用npoi組件&#xff0c;因此簡單的進行了整理&#xff0c;包括直接根據DataTable導出excel及Data…

44. 通配符匹配

44. 通配符匹配 給定一個字符串 (s) 和一個字符模式 &#xff0c;實現一個支持 ‘?’ 和 ‘*’ 的通配符匹配。 ? 可以匹配任何單個字符。 * 可以匹配任意字符串&#xff08;包括空字符串&#xff09;。 兩個字符串完全匹配才算匹配成功。說明: s 可能為空&#xff0c;且…

遞歸javascript_使用freeCodeCamp挑戰解釋了JavaScript中的遞歸

遞歸javascriptIn this article I will touch on a few important ideas to help you understand Recursion in JavaScript. I’m not going to give a full definition here, but you can take a look at what Wikipedia has to say. 在本文中&#xff0c;我將介紹一些重要的想…

入庫成本與目標成本對比報表中我學到的東西

1、SQL方面&#xff1a; &#xff08;1&#xff09;、用DECODE函數解決除數為零的情況 具體語法&#xff1a; DECODE&#xff08;參數&#xff0c;0&#xff0c;1&#xff0c;參數&#xff09; ->DECODE(TAB1.A8&#xff0c;0&#xff0c;1&#xff0c;TAB1.A8) &#xff08…

J - Borg Maze

J - Borg Maze 思路&#xff1a;bfs最小生成樹。#include<queue> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define MAXN 110 using namespace std; int fa[MAXN]; struct nond{int x,y,z; }v[MAXN*MAXN]; s…