1. 程式人生 > >day 4 - 1 列表

day 4 - 1 列表

1.列表的增刪改查

 

1)  append insert extend

li = ["ysg",[1,2,3,4,5],"peipei","夢幻","利金斯"]

#
append 在末尾增加 li.append('陰天') li.append("666") li.append("[12,13,14]") print(li)
小示例:迴圈向列表中新增資料,輸入 "Q|q" 結束 li
= [] while 1: username = input(">>>") if username.strip().upper() == 'Q': break else: li.append(username)
print(li) # insert 插入 li=["abc","efg"] li.insert(1,"d") print(li) #extend 迭代插人到最後 # 'int' object is not iterable li=["abc","efg"] li.extend("亦雙弓") print(li) li.extend([1,2,3]) print(li) li.extend(123) print(li)

2)刪除 pop remove clear del

li = ["ysg",[1,2,3,4,5],"peipei","夢幻
","利金斯"] name = li.pop(1) print(name,li) #有返回值 print(li) name = li.pop() #預設刪除最後一個值 print(name,li)
li.remove([
1,2,3,4,5]) #按元素刪除,沒有返回值 print(li)
li.clear()
#清空列表 print(li)
del li # 刪除列表 print(li) del li[3:] #del 結合切片刪除 print(li)

3)改 

li = ["ysg",[1,2,3,4,5],"peipei","夢","利金斯"]
li[
1] = "and" li[1] = [1,2,3] print(li) #切片 當新增的值小於切片的範圍時,只新增已有的值 #即:新增的原理是 先刪除後新增 li[0:3] = "ysg" print (li) li[0:3] = "hw" print (li) #如果新增的值大於切片的範圍時,大於的值在切片範圍後繼續新增 li[0:3] = [1,2,3,"abc","efg"] print(li)

 

4)查 for迴圈 切片

li = ["ysg",[1,2,3],"peipei","黎幻鎮","利金斯"]

for i in li:
print(i)

print(li[0:3])

2.公共方法

li = ["ysg",[1,2,3],"ysg","peipei","黎幻鎮","利金斯"]

l = len(li) #陣列長度
print(l)

print(li.count('ysg')) #統計出現次數

print (li.index("peipei")) #索引出現位置,預設第一次出現的位置

3.排序

li = [1,5,3,8,7,9,2,3]

li.sort()  #sort 排序是最快的 因為使用 C 語言的寫的
print(li)

li.sort(reverse=True) #倒序
print(li)

li.reverse() #反轉
print(li)

4.列表的巢狀

#1)找到 夢幻 中的幻字

print(li[4][1])

# 2)把 利金斯 中的 金斯 改為 益

li[5]="利益"
print(li)

li[5]=li[5].replace("金斯","")
print(li)

# 3)把 peipei 首字母大寫

li[3]=li[3].capitalize()
print(li[3],li)

5.元組

#只讀列表,可迴圈查詢 可切片
#兒子不能改 孫子可能可以改

yu=(12,3,'ysg',[1,23,'ysg'])
print(yu[2])
print(yu[3])

for i in yu:
    print(i)

#修改 元祖中的陣列
yu[3][1]=2
print(yu)

#修改 元祖中的陣列
yu[3][2]=yu[3][2].upper()
print(yu)

#在元祖中的陣列新增值

yu[3].append("end")
print(yu)

7.join 列表轉換為字串

#字串轉換為列表 split
#注意:使用 join 時,列表中不能再存在列表
li = ["ysg","ysg","peipei","黎幻鎮","利金斯"]
print(li)

j = "_".join(li)
print(j)

8. range 生成數字列表,顧頭不顧尾

for i in range(0,10):
    print(i)

for i in range(3,10):
    print(i)

for i in range(10):
    print(i)

for i in range(0,10,2):
    print(i)

for i in range(10,0,-1):
    print(i)

for i in range(10,0,-2):
    print(i)

for i in range(0,10,-1): #什麼都不輸出
    print(i)

for i in range(10,-10,-2):
    print(i)

for i in range(10,-2): #什麼都不輸出
    print(i)

for i in range(-2,10): # -2 為開頭
    print(i)