Task04 列表 元組和字串

2021-10-08 12:20:38 字數 2327 閱讀 8323

列表數字翻倍

def double_list(lst):

for index, value in enumerate(lst):

if isinstance(value, bool):

continue

if isinstance(value,(int,float)):

lst[index] *= 2

if isinstance(value, list):

#遞迴double_list(value)

if __name__ ==

'__main__'

: lst = lst =

[1, [4, 6], true]

double_list(lst)

print(lst)

結果:

[2, [8, 12], true]
山脈陣列的峰頂索引

我們把符合下列屬性的陣列 a 稱作山脈:

a.length >= 3

存在 0 < i < a.length - 1 使得a[0] < a[1] < … a[i-1] < a[i] > a[i+1] > … > a[a.length - 1]

給定乙個確定為山脈的陣列,返回任何滿足 a[0] < a[1] < … a[i-1] < a[i] > a[i+1] > … > a[a.length - 1] 的 i 的值。

def peakindexinmountainarray(self, a):

""" :type a: list[int]

:rtype: int

""" start, end = 0, len(a) - 1

while start <= end:

mid = start + (end - start) // 2

if a[mid]

< a[mid + 1]:

start = mid

elif a[mid]

< a[mid - 1]:

end = mid

else:

return mid

return 0

最長回文字串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。

示例 1:

輸入: 「babad」

輸出: 「bab」

注意: 「aba」 也是乙個有效答案。

示例 2:

輸入: 「cbbd」

輸出: 「bb」

class solution:

def longestpalindrome(self, s: str) -> str:

temp, max_p, length =

"", "", len(s)

# 初始化一些要用的資料

for index in range(length): # 把每個字元都當作中心

index_left, index_right = index, index

def compare(l, r): # 中心向兩邊擴散,兩種形式的邊界相同,所以乙個函式搞定!

while l != -1 and r != length and s[l]

== s[r]: # 邊界

l, r = l-1, r+1 # 擴散

return s[l+1:r]

if l == -1 or r == length else s[l+1:r]

# 因為不同的邊界條件返回的子串索引取值是有規律的!

temp = compare(index_left, index_right)

# 判斷形式1是否存在

max_p = temp if len(temp)

> len(max_p)

else max_p # 判斷是否比當前的回文字串更長

try:s[index+1]

except:continue

if s[index]

== s[index+1]: # 判斷形式2是否存在

left, right = index, index + 1

temp = compare(left, right)

# 擴散

max_p = temp if len(temp)

> len(max_p)

else max_p # 判斷是否比當前的回文字串更長

return max_p # 返回最長回文字串

Task04 列表 元組和字串

練習題 1 列表操作練習 列表lst 內容如下 lst 2,5,6,7,8,9,2,9,9 請寫程式完成下列操作 在列表的末尾增加元素15 在列表的中間位置插入元素20 將列表 2,5,6 合併到lst中 移除列表中索引為3的元素 翻轉列表裡的所有元素 對列表裡的元素進行排序,從小到大一次,從大到小...

Python學習Task04 列表 元組和字串

列表 答 1.lst 2 5,6 7,8 9,2 9,9 15 lst.insert 4,20 lst.extend 2 5,6 lst.pop 3 lst.reverse lst.sort lst.sort reverse true lst 1 4,6 true lst 0 lst 0 2lst ...

TASK4 列表 元組 字串

4.1.1列表定義 列表是有序集合,沒有固定大小,能夠儲存任意數量任意型別的python物件 4.1.3刪除列表元素 1.list.remove obj 方法 移除列表中與obj匹配的第乙個元素 2.list.pop方法 移除列表指定位置的值 預設最後乙個 並返回其值 3.del 方法 刪除指定位置...