列表數字翻倍
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 方法 刪除指定位置...