一、Python切片操作
Python中切片操作是提取字元串、列表、元組等可迭代對象的一部分。通過使用切片操作符「:」實現。
下面是一個Python切片的基本語法示例:
s[start:stop:step]
其中,start為起始位置,如果省略start則表示從頭開始;stop為結束位置,如果省略stop則表示到結尾結束;step為步長,默認為1,如果省略則表示按照默認步長進行切片。
例如:
#從位置1到位置3,步長為1
s = "Hello World"
print(s[1:3]) #輸出 "el"
可以通過切片操作來截取列表和元組中的元素:
lst = [1, 2, 3, 4, 5]
print(lst[1:3]) #輸出 [2, 3]
tup = (1, 2, 3, 4, 5)
print(tup[1:3]) #輸出 (2, 3)
二、Python切片菜鳥教程
Python切片在菜鳥教程中也有詳細介紹。
菜鳥教程提供了大量的示例代碼,涵蓋了Python切片的各種用法,包括切片基礎語法、基於步長的切片、倒序切片、負數索引、省略切片、切片賦值等。
以下是部分切片菜鳥教程示例代碼:
#倒序切片
a = [1, 2, 3, 4, 5]
print(a[::-1]) #輸出 [5, 4, 3, 2, 1]
#負數索引
b = 'hello world'
print(b[-5:-2]) #輸出 "wor"
#省略切片
c = [1, 2, 3, 4, 5]
print(c[:3]) #輸出 [1, 2, 3]
#切片賦值
d = [1, 2, 3, 4, 5]
d[1:3] = [6, 7]
print(d) #輸出 [1, 6, 7, 4, 5]
三、Python切片用法
Python切片的用法非常廣泛,可以用於提取字元串、列表、元組等的一部分,也可以用於反轉字元串、列表等。
下面是Python切片的一些常用用法:
1. 提取子串
s = 'abcdefg'
print(s[1:4]) #輸出 "bcd"
lst = [1, 2, 3, 4, 5]
print(lst[1:3]) #輸出 [2, 3]
2. 反轉字元串或列表
s = 'abcdefg'
print(s[::-1]) #輸出 "gfedcba"
lst = [1, 2, 3, 4, 5]
print(lst[::-1]) #輸出 [5, 4, 3, 2, 1]
3. 分隔字元串或列表
s = 'a,b,c,d,e'
print(s.split(',')) #輸出 ['a', 'b', 'c', 'd', 'e']
lst = [1, 2, 3, 4, 5]
print(lst[1:4:2]) #輸出 [2, 4]
四、Python切片法
Python切片法可以靈活地對字元串、列表等進行操作,同時也可以用於解決演算法問題,提高程序的效率。
下面是一些典型的Python切片法示例:
1. 求最長迴文子串
def longest_palindrome(s):
n = len(s)
max_len = 0
start = 0
for i in range(n):
for j in range(i+1, n+1):
if s[i:j] == s[i:j][::-1] and j-i > max_len:
max_len = j-i
start = i
return s[start:start+max_len]
s = 'babad'
print(longest_palindrome(s)) #輸出 "bab"
2. 尋找無重複字元的最長子串
def longest_substring(s):
n = len(s)
max_len = 0
start = 0
d = {}
for i in range(n):
if s[i] in d and d[s[i]] >= start:
start = d[s[i]] + 1
d[s[i]] = i
max_len = max(max_len, i-start+1)
return s[start:start+max_len]
s = 'abcabcbb'
print(longest_substring(s)) #輸出 "abc"
五、Python切片代碼
下面是一些Python切片的代碼示例。
1. 反轉字元串
s = 'abcdefg'
s = s[::-1]
print(s) #輸出 "gfedcba"
2. 取倒數第二個元素
lst = [1, 2, 3, 4, 5]
elem = lst[-2]
print(elem) #輸出 4
3. 分離文件名與後綴
filename = 'test.html'
basename, ext = filename.split(".")
print('basename:', basename)
print('extension:', ext)
六、Python切片的三種方法
Python切片有三種方法:
1. 使用切片操作符「:」;
2. 使用內置的slice()函數;
3. 使用itertools.islice()函數。
以下是各種方法的示例代碼:
1. 使用切片操作符「:」
s = 'abcdefg'
s = s[1:4]
print(s) #輸出 "bcd"
2. 使用內置的slice()函數
s = 'abcdefg'
s = slice(1, 4)
print(s) #輸出 slice(1, 4, None)
3. 使用itertools.islice()函數
from itertools import islice
lst = [1, 2, 3, 4, 5]
lst1 = list(islice(lst, 1, 4))
print(lst1) #輸出 [2, 3, 4]
七、Python切片步長什麼意思
Python切片步長是指每次迭代時跨越的元素數量。
下面是一些步長示例代碼:
s = 'abcdefg'
s1 = s[1:6:2]
print(s1) #輸出 "bdf"
lst = [1, 2, 3, 4, 5]
lst1 = lst[1:4:2]
print(lst1) #輸出 [2, 4]
八、Python切片函數
Python提供了一些有用的切片函數,例如sorted()、max()、min()等。
下面是一些切片函數的示例代碼:
1. sorted()
s = 'abcdefg'
s1 = sorted(s, reverse=True)
print(s1) #輸出 ['g', 'f', 'e', 'd', 'c', 'b', 'a']
2. max()
lst = [1, 2, 3, 4, 5]
elem = max(lst)
print(elem) #輸出 5
3. min()
lst = [1, 2, 3, 4, 5]
elem = min(lst)
print(elem) #輸出 1
九、Python切片規則
Python切片有一些規則需要遵守:
1. 切片返回的是原對象的副本,不會改變原對象;
2. 超出索引範圍不會報錯,而是返回空對象。
以下是一些規則示例代碼:
1. 切片返回副本
s = 'abcdefg'
s1 = s[1:4]
print(s) #輸出 "abcdefg"
print(s1) #輸出 "bcd"
2. 超出索引範圍返回空對象
s = 'abcdefg'
s1 = s[10:20]
print(s1) #輸出 ""
十、Python切片字元串選取
Python切片可以用於字元串的選取與處理,例如選取用戶名和域名。
以下是一個字元串選取的示例代碼:
email = 'john.doe@example.com'
username = email[:email.index('@')]
domain = email[email.index('@')+1:]
print(username) #輸出 "john.doe"
print(domain) #輸出 "example.com"
原創文章,作者:CGDVD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370525.html