1. 程式人生 > >Python列表及元組操作及練習

Python列表及元組操作及練習

列表操作:
增: append,insert,extend(可迭代的去新增)
刪: 按元素去刪除:remove
    按索引去刪:pop去除(有返回值),
    del刪除(徹底刪除),clear清空列表
改: 按索引去改(直接指定值進行修改);按切片去改(可迭代的去修改,添加個數不定)
查: for迴圈,按索引來查;按切片來查
可迭代: 如果是字串,則每個拆分為最小的單元;如果是列表,則每個拆分為列表中的一個元素

公共方法:
1.得出長度->len(x)得出列表的長度;x.count(num)
2.找索引->x.index(num)找出num值在列表中的索引

排序:
正序排序->li.sort()   倒序排序->li.sort(reverse=True)
反轉->li.reverse()

列表的巢狀:
capitalize()方法可以將第一個字母變大寫,其餘字母變小寫

元組:可以被查詢,不可被修改
只讀列表,可迴圈查詢,可切片
兒子不能改,孫子可能可以改
tu = (1,2,'aaa',[3,4,5,'www'])

join方法,可迭代物件
s.join(xx)  用s相連線(s在其後面進行連線)  join返回的是一個字串
可以用join實現無縫拼接

字串轉換為列表,使用split方法
列表轉換為字串,使用join方法

range 方法的使用:
for i in range(10,0,-1):
for i in range(0,10,-1):  (不會報錯,什麼都沒有)

isinstance() 函式來判斷一個物件是否是一個已知的型別
迴圈巢狀列表的遍歷:

li = [1,2,3,4,'aaa',[2,3,5]]
for i in li:
  if isinstance(i,list): #檢視list元素是否是list
    for j in i:  #遍歷巢狀的list
      print (j)
  else :
    print (i)

練習題:

lis = [2,3,'k',['qwe',20,['k',['tt',3,'1']],89],'ab','adv']

1)將列表lis中的’tt’變成大寫(用兩種方式):
lis[3][2][1][0] = "TT"
print(lis)
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis2)

 2)將列表中的數字3變成字串’100’(用兩種方式):

lis.remove(3)
lis.insert(1,'100')
print(lis)

3)將列表中的字串’1’變成數字101(用兩種方式)

lis[3][2][1][2] = 101
print(lis)
lis[3][2][1][2] = int(lis[3][2][1][2].replace('1','101'))
print(lis)
print(lis[3][2][1][2])  # '1'
lis[3][2][1][2] = int('10'+lis[3][2][1][2])
lis[3][2][1][2] = int(lis[3][2][1][2]) + 100
li = [1,2,3]
li[2] = 33
print(li)

4)查詢列表li中的元素,移除每個元素的空格,
   並找出以’A’或者’a’開頭,並以’c’結尾的所有元素,
    並新增到一個新列表中,最後迴圈列印這個新列表。

li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir','  aqc']
b=[]
for i in li:
    s=i.strip()
    if (s.startswith("A")or s.startswith("a"))and s.endswith("c"):
        b.append(s)
    for x in b:
        print(x)

for i in li:
    s=i.strip()
    if s[0].upper() == 'A' and s[-1] == 'c':
        b.append(s)
    for x in b:
        print(x)

5)開發敏感詞語過濾程式,提示使用者輸入評論內容,如果使用者輸入的內容中包含特殊的字元:敏感詞列表 li = ["蒼老師","東京熱",”武藤蘭”,”波多野結衣”],則將使用者輸入的內容中的敏感詞彙替換成***,並新增到一個列表中;如果使用者輸入的內容沒有敏感詞彙,則直接新增到上述的列表中。

li=["蒼老師","東京熱","武藤蘭","波多野結衣"]
new_li= []
info = input("評論")  # 蒼老師,東京熱 法律框架第三
for i in li:
    if i in info:
        l = len(i)
        info=info.replace(i,'*'*l)
new_li.append(info)
print(new_li)