Task04:列表、元組和字串
阿新 • • 發佈:2020-07-28
練習題:
列表
1、列表操作練習
列表lst 內容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
請寫程式完成下列操作:
- 在列表的末尾增加元素15
- 在列表的中間位置插入元素20
- 將列表[2, 5, 6]合併到lst中
- 移除列表中索引為3的元素
- 翻轉列表裡的所有元素
- 對列表裡的元素進行排序,從小到大一次,從大到小一次
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9] lst.append(15) lst.insert(1,21) lst.pop(3) lst.reverse() lst.sort(reverse=False) lst.sort(reverse=True)
2、修改列表
問題描述:
lst = [1, [4, 6], True]
請將列表裡所有數字修改成原來的兩倍
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)
3、leetcode 852題 山脈陣列的峰頂索引
如果一個數組k符合下面兩個屬性,則稱之為山脈陣列
陣列的長度大於等於3
k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]
這個$i$就是頂峰索引。
現在,給定一個山脈陣列,求頂峰索引。
示例:
輸入:[1, 3, 4, 5, 3]
輸出:True
輸入:[1, 2, 4, 6, 4, 5]
輸出:False
class Solution: def peakIndexInMountainArray(self, A: List[int]) -> int: # your code here
元組
1、元組概念
寫出下面程式碼的執行結果和最終結果的型別
(1, 2)*2# (1,2,1,2)
(1, )*2#(1,1)
(1)*2
#(2)
分析為什麼會出現這樣的結果.
元組只有一個元素
2、拆包過程是什麼?
拆包: 對於函式中的多個返回資料, 去掉元組, 列表 或者字典 直接獲取裡面資料的過程.
a, b = 1, 2
上述過程屬於拆包嗎?
不屬於
可迭代物件拆包時,怎麼賦值給佔位符?
字串
1、字串函式回顧
- 怎麼批量替換字串中的元素?
- 怎麼把字串按照空格進⾏拆分?
- 怎麼去除字串⾸位的空格?
2、實現isdigit函式
題目要求
實現函式isdigit, 判斷字串裡是否只包含數字0~9
def isdigit(string):
"""
判斷字串只包含數字
:param string:
:return:
"""
# your code here
pass
3、leetcode 5題 最長迴文子串
給定一個字串 s
,找到 s
中最長的迴文子串。你可以假設 s
的最大長度為 1000。
示例:
輸入: "babad"
輸出: "bab"
輸入: "cbbd"
輸出: "bb"
class Solution:
def longestPalindrome(self, s: str) -> str:
# your code here