這里是清安,每天半小時,帶你快速上手Python,走向自動化,
目錄
串列
修改元素
添加元素
插入元素
洗掉元素
正、倒序
正序
倒序
reverse()方法
取值
負數取值
范圍取值
串列長度
下標改值
連接與復制
回圈串列
in和not in操作
便捷的賦值
串列操作
查找
添加
洗掉
排序
拼接
彈出
結合字串操作
回圈
range
list()
統計
切片
串列
串列:主要使用[ ]來表示,我這里的加了一個空格,便于看清哦!,看下面的例子
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
這就是一個簡單的串列,[ ]加字串組成,那么如何訪問呢,其實跟我之前的一樣,直接列印就好了
print(class_name)
我們利用索引來取值,串列的左邊第一個值,索引值為0,自左向右推,python索引值為0,Java為1...
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
print(class_name) # 列印class_name串列
print(class_name[0]) # 索引輸出python
print(class_name[1]) # 索引輸出java
print(class_name[-1]) # 這里的-1是列印串列最后一個值,從右往左索引值依次增加為:-1,-2...
print(class_name[-2]) # 列印倒數第二個值
用上述的例子,我們可以恰當的使用其中一個值,上一節課講過的哦:可以適當的舉一反三哦!
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
# 使首字母大寫
print(f"This is {class_name[0].title()}")
修改元素
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
# 列印原來的值,便于比較
print(class_name)
# 利用索引進行修改里面的值
class_name[0] = "html" #修改串列的第一個元素
class_name[1] = "大資料" #修改串列的第二個元素
print(class_name)
添加元素
添加的值附加在串列的末尾
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
# 列印原來的值,便于比較
print(class_name)
# 在串列的末尾添加一個元素
class_name.append("html")
print(class_name)
插入元素
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
# 列印原來的值,便于比較
print(class_name)
# 在串列索引值0的位置前面插入一個元素
class_name.insert(0, "html")
print(class_name)
洗掉元素
有兩種方法,一種是.del,一種是.pop():兩者的區別,讓我們來理解一下吧:
del方法可以洗掉任意位置的串列元素,只需要知道它的索引值即可
洗掉后就無法再進行訪問了
當你需要洗掉串列的值后,又需要使用它時,就可以用到.pop()方法了
.pop()是洗掉末尾的元素,也可以通過索引指定移出元素,這里的洗掉其實先當于將元素移出當前串列
class_name = ["python", "java", "c", "php"]
# 通過索引來洗掉元素,洗掉后且無法再次使用
del class_name[0]
print(class_name)
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
# 列印原來的值,便于比較
print(class_name)
# 移出末尾的值
poppd = class_name.pop()
# 列印我們之前移出的末尾的值
print(f"This is {poppd.title()}")
# eg:
# 你也可以通過索引來指定移出哪個元素
# poppd = class_name.pop(1)
根據值來洗掉元素:這個用法還是比較簡單的,當你不知道想要洗掉的元素所處的位置時,就用指定值來洗掉指定元素.remove():
# 這里宣告一個變數,后續便于輸出
class_name = ["python", "java", "c", "php"]
# 列印原來的值,便于比較
print(class_name)
class_name.remove("java")
print(class_name)
remove方法洗掉值后其實也可以使用,看下面的例子:
class_name = ["python", "java", "c", "php"]
class_remove = "java" # 定義一個變數接受賦值,指定洗掉java
class_name.remove(class_remove) # 洗掉串列中的值,因為前面我們已經指定的洗掉誰
print(f"I like {class_remove.title()}")
正、倒序
正序排序,永久性排序:按字母先后順序進行排序,a,b,c,d...數字的話從小到大啦!!!
正序
class_name = ["python", "bird", "c", "app"]
class_name.sort()
print(class_name)
class_num = ["2", "6", "1", "3"]
class_num.sort()
print(class_num)
倒序
class_name = ["python", "bird", "c", "app"]
print(sorted(class_name))
# 再次列印驗證是否是臨時修改
print(class_name)
reverse()方法
class_name = ["python", "bird", "c", "app"]
# 這里我們倒敘列印放在print里面直接列印的話就會是空值
print(class_name.reverse())
# 需要用變數直接使用函式,再通過列印才行哦
class_name.reverse()
print(class_name)
如果用到這個方法,你就得這么寫了,不然列印出來就會是空值,
取值
取值是根據下標來取值的,從串列的第一個字串開始,第一個字串下標是0:
list_number = ['cat','dog','snake','elephant']
print(list_number[0])
print(list_number[1])
print(list_number[2])
#其對應的值是:
#cat
#dog
#snake
負數取值
list_number = ['cat','dog','snake','elephant']
print(list_number[-1])
print(list_number[-2])
print(list_number[-3])
#其對應的值是:
#elephant
#snake
#dog
范圍取值
list_number = ['cat','dog','snake','elephant']
print(list_number[:3])
print(list_number[1:3])
print(list_number[1:])
print(list_number[:-1])
# 其對應的結果是:
#['cat', 'dog', 'snake']
#['dog', 'snake']
#['dog', 'snake', 'elephant']
#['cat', 'dog', 'snake']
串列長度
list_number = ['cat','dog','snake','elephant']
print(len(list_number))
#其結果是:
#4
下標改值
list_number = ['cat','dog','snake','elephant']
list_number[1] = 'nono'
print(list_number)
# 其結果是:
#['cat', 'nono', 'snake', 'elephant']
連接與復制
list_number = ['cat','dog','snake','elephant']
list_1 = ['tom','tim']
print(list_number+list_1)
# 其結果是:
#['cat', 'dog', 'snake', 'elephant', 'tom', 'tim']
#復制
list_1 = ['tom','tim']
print(list_1*3)
# 其結果是:
#['tom', 'tim', 'tom', 'tim', 'tom', 'tim']
回圈串列
有關for回圈可以去看看快速上手系列for回圈,后續本系列也會出詳解,
list_number = ['cat','dog','snake','elephant']
for i in list_number:
print(i)
# 其結果是:
# cat
# dog
# snake
# elephant
in和not in操作
用于判斷串列中是否存在一個值
list_number = ['cat','dog','snake','elephant']
print('cat' in list_number) #T
print('cat' not in list_number) #F
便捷的賦值
| 便捷的賦值陳述句 | 普通的賦值陳述句 |
| a+=1 | a = a+1 |
| a-=1 | a = a-1 |
| a*=1 | a = a*1 |
| a%=1 | a = a%1 |
| a/=1 | a = a/1 |
串列操作
查找
#回傳值的下標,如果重復值,只會回傳第一次的值
list_number = ['cat','dog','snake','elephant']
print(list_number.index('dog'))
添加
# 可以指定添加到某個位置
list_number = ['cat','dog','snake','elephant']
list_number.insert(1,'monkey')
print(list_number)
# 其結果是:
# ['cat', 'monkey', 'dog', 'snake', 'elephant']
# 只能添加到末尾的位置
list_number = ['cat','dog','snake','elephant']
list_number.append('monkey')
print(list_number)
# 其結果是:
# ['cat', 'dog', 'snake', 'elephant', 'monkey']
洗掉
list_number = ['cat','dog','snake','elephant']
list_number.remove('cat')
print(list_number)
# 其結果是:
# ['dog', 'snake', 'elephant']
list_number = ['cat','dog','snake','elephant']
del list_number[1]
print(list_number)
# 其結果是:
# ['cat', 'snake', 'elephant']
排序
# 按字母順序進行排序
list_number = ['c','d','s','a']
list_number.sort()
print(list_number)
# 其結果是:
# ['a', 'c', 'd', 's']
# 倒敘
list_number = ['c','d','s','a']
list_number.reverse()
print(list_number)
# 其結果是:
# ['a', 's', 'd', 'c']
拼接
list_number = ['c','d','s','a']
list_1 = ['小北']
list_number.extend(list_1)
print(list_number)
# 其結果是:
# ['c', 'd', 's', 'a', '小北']
彈出
list_number = ['c','d','s','a']
list_1 = []
n = list_number.pop(1)
print(list_number)
list_1.append(n)
print(list_1)
# 其結果是:
# ['c', 's', 'a']
# ['d']
指定彈出索引位置的值,我們還可以進行呼叫哦,
結合字串操作
list_number = ['tom','luci','xifa','BOB']
for i in list_number:
print(i.upper())
# 其結果是:
# TOM
# LUCI
# XIFA
# BOB
這里只舉出了全部大寫的例子,結合字串所學,寫法一致!
回圈
# 定義一個串列
name_study = ['chinese','english','math','pe']
# 使用for回圈,定義一個變數回圈串列
for i_name in name_study:
#列印我們的回圈結果
print(i_name)
這里這個i_name是新定義的一個變數,用于獲取name_study里面的值,
# 結果
chinese
english
math
pe
range
上述不明白看看下面
for num in range(1,5):
print(num)
# 結果
# 1
# 2
# 3
# 4
range這里的可以這樣理解:range(1,5),在for回圈中使用我們定義的num變數進行1~5之間的數字回圈,但是因為range函式的本身的原因,所以5是不會列印的,如果要列印1~5所有的數字,就需要改一下range里面的引數:看代碼
for num in range(1, 6):
print(num)
將range里面的5,改成6,使用for回圈就可以列印出1-5所有的數字啦
list()
下面我們將回圈出來的數字變成串列形式
num = list(range(1,6))
print(num)
# [1, 2, 3, 4, 5]
也可以設定一定的步長,所謂的步長就是個幾個數取一次值
num = list(range(1, 11, 2))
print(num)
# [1, 3, 5, 7, 9]
統計
num = [20, 30, 50, 80, 40, 10]
print(min(num)) # 最小的一個數
print(max(num)) # 最大的一個數
print(sum(num)) # 串列的數字和
切片
切片呢,是在串列中我們可以使用索引值來處理它的一部分元素,就不需要一個一個再列印了,對于這種python中稱之為切片,看例子:
# 創建一個串列
num = ['python', 'java', 'c', 'php', 'html', 'c++']
# 利用索引值來完成切片
print(num[0:3])
這里的[0:3],0是起始索引位置,3是終止索引位置,3的位置是終止位置不取,其結果是:
['python', 'java', 'c']
這就是切片,小伙伴明白了嗎,能夠使用索引值來處理串列的部分元素的操作就是切片哦!!!
切片還有很多的操作哦,看接下來的介紹:
寫法:
num[start, end, step]
start:開始切片的位置(包含)
end:結束切片的位置(不包含)
step:間隔資料個數
上面我們講的是順序切片,這回我們講倒敘切片:
num = ['python', 'java', 'c', 'php', 'html', 'c++']
print(num[-2:])
例子解釋:倒敘,按循序切片,從倒數第二個開始往后取值,其結果是:
['html', 'c++']
間隔位置切片:
num = ['python', 'java', 'c', 'php', 'html', 'c++']
print(num[1::2])
例子解釋:間隔位置切片,從索引位置1開始取值,途中每隔兩個取一個當前值
串列旋轉:
num = ['python', 'java', 'c', 'php', 'html', 'c++']
print(num[::-1])
例子解釋:顧名思義就是將串列旋轉倒過來列印出來,其結果是:
['c++', 'html', 'php', 'c', 'java', 'python']
接下來就是我么的一個小實戰:
num = ['python', 'java', 'c', 'php', 'html', 'c++']
print(num[4:1:-1])
在這里,可以舉一反三的去思考思考,自己也可以舉例然后使用切片去將串列中想要列印的元素列印出來!
解釋:因為串列的操作,-1將串列旋轉,然后從索引值1的位置開始取值,到索引值4的位置,但是4不取,因為4的位置是終止位置,
接下來我們就開始進入下一個實用例子,遍歷切片:
num = ['python', 'java', 'c', 'php', 'html', 'c++']
for num_first in num[:3]:
print(num_first)
遍歷切片,其實就是使用for回圈去回圈我們想要列印串列中的部分元素哦,num[:3]就是前三個元素,然后我們定義一個變數num_first,去回圈前三個元素,最后列印我們定義的變數,
遍歷切片,不懂的小伙伴也可以理解為回圈想要輸出的元素,
上述例子看不明白的看看下面這個例子,清安將上面的多定義了一個變數,便于小伙伴理解怎么回事哦!
num = ['python', 'java', 'c', 'php', 'html', 'c++']
# 定義一個變數,接受我們想要輸出的部分元素,也是就切片部分
num_list = num[:3]
for num_first in num_list:
print(num_first)
復制一個串列:
創建一個始于第一個元素,終于最后一個元素的切片,就是我們想要復制的串列,即副本
num = ['python', 'java', 'c', 'php', 'html', 'c++']
number = num[:]
print(number)
我們先定義一個變數使其等于已經定義的num串列切片,這個切片的寫法就是num[:],然后我們輸出number變數,就可以看到原串列的副本啦,就是我們所要的復制串列!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/321328.html
標籤:其他
上一篇:??強烈推薦,微信開發者工具配置Less支持,開發爽666
下一篇:二叉排序樹
