day6 元組
(1)元組和列表類似,也可以包含多種形式的元素,但是元組建立之後不能對其進行修改。
(2)建立元組
元組使用小括號,也可以什麼都不用,但是中間必須用逗號隔開。如果元組只包含乙個元素,在元素的後邊必須用逗號做標記,否則括號會被認為是運算子使用。也可以建立多維的元組
(3)更新和刪除乙個元組
元組中的元素不能賦值
(4)相關操作符
連線操作符+,用來首尾拼接,重複操作符*,用複製拼接
+=和*=這種增強的賦值運算子也可以使用。
元組也可以使用標準的比較操作符(=、>)
(5)其他功能
t.count( x) 返回物件x在元組**現的次數
t.index(x) 是返回物件再元組**現的最左邊的位置,當元組中不包含x的時候,則產生valueerror的異常。
(5)解壓元組
解壓元組就是把元組中的元素乙個乙個的提取出來,一定要每個元素都要有對應的名稱。
如果有很多量不需要,是可以把多個變數丟給乙個變數,但是要加上*
號,但是在進行解壓的時候,不能出現多個*
,會報錯。
第一題:
寫出下面**的執行結果和最終結果的型別,並分析為什麼會出現這樣的結果。
1)(1, 2)*2
a=(1
,2)*
2print
(a,type
(a))(1
,2,1
,2)<
class
'tuple'
>
分析:此時是元組,*2應該同列表類似
2)(1, )*2
a=(1
,)*2
print
(a,type
(a))
結果:(1, 1)
分析:括號裡邊雖然只有乙個元素,但是後邊有逗號,為元組。
3)(1)*2
a=(1
)*2print
(a,type
(a))
結果:2
此時括號被認為是運算子,不是元組
第二題:
這個過程屬於平行賦值,也屬於拆包。這個賦值的過程,其實也就是拆包的過程,將元素的資訊由變數接收它。但是在拆包的過程中,必須將右側的所有資訊全部拆完。所以如果沒有可變引數的話,左側的引數個數一定要等於右側列表/元組內元素個數。平行賦值即等號左右兩邊的變數和值可以是多個,但是要保證數量一致。a,b=1,2即a=1,b=2
可迭代物件拆包時,怎麼賦值給佔位符?
在可迭代物件拆包時,使用_(單個元素),*_(連續多個元素)進行佔位
day7 字串
基礎知識
(1)字串的建立
定義:使用固定不變的資料型別表示的,其中存放unicode字串行。??????這是啥?
建立:單引號或者雙引號都行。但是如果在字串內部還需要輸入單引號或者雙引號,就需要加轉義符號或者用三引號了。
三引號""" ******x """
,字串中可以包含換行符、製表符以及其他特殊字元。
如果多行輸入不用三引號,還有很多種形式,具體參考《python程式開發指南第三版》
(2)字串的切片與引用
切片會寫成start:end 這種形式,注意在索引的時候,會包含start的元素,但是不會包括end對應的元素。和那個range乙個樣。
其他的索引可以從左往右,也可以從右往左。最後乙個元素是-1.
(3)常用內建方法
第一題:
1)怎麼批量替換字串中的元素?
replace(old, new [, max]) 把 將字串中的old替換成new,如果次數指定了,則替換不超過max次
2)怎麼把字串按照空格進行拆分?
split(str="", num) 不帶引數預設是以空格為分隔符切片字串,如果num引數有設定,則僅分隔num個子字串,返回切片後的子字串拼接的列表。
3)怎麼去除字串首位的空格?
lstrip([chars]) 截掉字串左邊的空格或指定字元。
或者使用
第二題:
實現isdigit函式
def
isdigit
(string)
: l=
len(string)
a=0for i in string:
if(i >=
'0'and i <=
'9')
: a=a+
1else
:print
("false"
)break
if a==l:
print
('true'
)return
()
第三題:(還存在問題)
class
solution
:def
longestpalindrome
(self, s:
str)
->
str:
k =len(s)
self.res =
""def
sett
(i,j)
:while i >=
0and j < k and s[i]
== s[j]
: i -=
1 j +=1if
len(self.res)
< j - i -1:
self.res = s[i+
1:j]
for i in
range
(k):
sett(i,i)
sett(i,i+1)
return self.res
Day6 元組和字典
什麼是元組 tuple 元組就是不可變的列表 元組是容器型資料型別,將 作為容器的標誌,裡面多個元素用逗號隔開 元素1,元素2,元素3,元組不可變 不支援元素的增刪改 元組是有序的 支援下標操作 元素 任何型別的資料,並且可以重複 t1 10 23,90 10 print type t1 t1 空元...
day7 字串和集合
集合與字串 1.集合 2.字串和字元 3.字串的操作 一 集合 集合是可變的 無序的 集合中的元素 不可變資料 唯一的 通過for迴圈遍歷無序序列時,都是將序列轉換成列表,然後遍歷列表。2.增 在集合中新增指定元素 語法 集合.add 元素 3.刪 刪除集合中指定元素 元素不存在會報錯 語法 集合....
day7集合和字串
1.1 集合 集合是容器型資料型別,將 作為容器型標誌,裡面的元素用多個逗號隔開 集合是可變的,無序的 元素 資料型別不可變且唯一 1 空集合 x 空字典 y set 空集合 2 元素是不可變的 s print s s print s typeerror unhashable type list 3...