day04_步入百萬年薪的第四天

day04

列表

列表——list

​ 有序,可變,支持索引python

  • 列表:存儲數據,支持的數據類型不少:字符串,數字,布爾值,列表,集合,元組,字典,用逗號分割的是一個元素
  • id() :獲取對象的內存地址
lst = ['alex',123,True] # 用逗號分割的是一個元素
print(lst) # 結果是['alex',123,True]
print(lst[0])
print(id(lst[0]))
# id獲取對象的內存地址

lst[0] = "dsb"
print(lst)  # ['dsb', 123, True, '黑哥']

# s = "alex" # 字符串是不可變數據
# s = "wusir"
# s[0] = "b"
# print(s)
列表的增長
  • append():追加,在末尾的位置加一個
# lst.append("大煎餅")  #追加(在列表的最後位置添加一個內容)
# print(lst)
  • insert():插入,insert(像插入的位置下標,'內容')插入到位置前面

insert()之後儘可能不要使用(當數據量比較大的時候會影響效率)面試

# lst.insert(2,"wusir")  #插入  之後儘可能不要使用(當數據量比較大的時候會影響效率)
# print(lst)
  • extend(可迭代對象):擴展 ——迭代添加(數字和布爾值不能),把裏面的內容一個一個的放在後面
# lst.extend("可迭代的內容")  # 迭代添加
# print(lst)
列表的刪除
  • del (不是列表的專屬方法) :能夠配合索引刪除,能夠配合切片和步長刪除,能夠強制刪除空間
# del lst[0]  # 經過索引刪除
# print(lst)

# del lst[0:3] # 經過切片刪除
# print(lst)

# del lst[0:3:2] # 經過步長刪除
# print(lst)
  • remove():經過元素名字刪除,刪除左邊第一個
# lst = ["dsb",123,"dsb",True,"黑哥"]
# lst.remove("dsb") # 移除 -- 經過元素名字進行刪除
# print(lst)
  • pop():沒有指定,默認刪除最後一個

pop(0):能夠指定索引刪除app

ret = lst.pop(0) :能夠返回被刪除的元素code

# lst.pop()  # 彈 -- 默認刪除最後一個
# print(lst)

# lst = ["dsb",123,True,"黑哥"]
# lst.pop(2)   # 經過指定索引進行刪除
# print(lst)
  • clear():清空 結果是一個空列表 :[]
# lst.clear()  #清空
# print(lst)
列表的改
  • 經過索引修改
  • 可經過切片:被迭代進來的,可超出切片的數量,數字和布爾值不行,主要是索引取得留下誰 :123456(不能運行) 1,2,3,4,5,6(可運行) "123456"(可運行)
  • 可經過切片和步長:後面的內容數量必須與切片的數量相等
lst = ['楊紫','高圓圓','劉亦菲','關曉彤']
lst[0] = '楊冪'  # 經過索引修改
print(lst)  *****

lst[0:3] = '你好美11111111'  # 被迭代進來的,數字和布爾值不行,主要是索引取得留下誰 :123456(不能運行)  1,2,3,4,5,6(可運行行)  "123456"(可運行)
print(lst)  # ['你','好','美',’1',....,'1','關曉彤']

lst[0:4:2] = '好嗨哦' # 運行錯誤
lst[0:4:2] = '好嗨' #後面的內容數量必須與切片的數量相等
print(lst)  # ['好','楊紫','嗨','劉亦菲']
列表的查
  • 經過for循環
# for 循環
# lst = ["dsb",123,"dsb",True,"黑哥"]
# for i in lst:
#     print(i)
增刪改查的使用
lst = ['你', '好', '啦', '啊']
lst.append('牛')
print(lst)
lst.insert(1, '牛一')
print(lst)
lst.extend('你好')
print(lst)

lst.pop(1)
print(lst)
lst.remove('牛')
print(lst)
lst1 = ['asd', 'dfg']
lst1.clear()
print(lst1)

lst[4] = '朱'
print(lst)
lst[0:4] = '12'
print(lst)
lst[0::2] = '36'
print(lst)

for i in lst:
    print(i)
列表的嵌套

經過索引進行取值對象

無論什麼類型進行切片的時候獲取到的都是原數據類型索引

# a = lst[-1][-1][-2]
# print(a)
# 無論什麼類型進行切片的時候獲取都到都是源數據類型

# lst = [1,"alex","春生","小東北","渣弟",
#        ["大黑哥",["常鑫",["自行車"],"大煎餅","掉井蓋","三金"],
#     "馮強","海峯",["太白金星","女神","吳超",["肖鋒"]]]]
# print(lst[-1][1][1][0])

元組

元組——tuple內存

有序,不可變,支持索引rem

元組(tuple)其實就是一個不能夠修改的列表字符串

元組的查

for語句查input

也能夠用索引,能夠用切片,也能夠加步長,元組切片結果也是元組

元組不能進行修改,不可變

應用場景

元組用於存儲一些比較重要的信息,元組在配置文件中會使用,存放一些用戶密碼的時候

常量也是在配置文件中使用

修改——通常不推薦

轉成列表再進行修改

# tu = (1,"alex",True,"大黑哥",[1,2,3])
# lst = [1,"alex",True,"大黑哥",[1,2,3]]
# print(tu)

# tu = (1,"alex",True,"大黑哥",[1,2,3])
# print(tu[0:6])

# for 循環
# for i in tu:
#     print(i)

range

range——範圍

print(list(range(0,10))) 顧頭不顧尾

面試題

python3中range(0,10) 是一個可迭代的對象,寫得是怎樣的打印的時候就是怎樣 :print(range(0,10)) # 結果是 range(0,10)

print(list(range(0,10)))# 結果是[0,1,2,3,4,5,6,7,8,9]

python2中 的 range 獲取到一個列表

range(0,10) # 結果是[0,1,2,3,4,5,6,7,8,9]

xrange和python3中range是類似的,都是可迭代對象,返回結果是 range(0,10)

range 和切片同樣:range 第一個是起始位置,第二個是終止位置,第三個是步長,步長默認爲1,終止位置和切片同樣都是顧頭不顧尾,他們之間用逗號分開

print(list(range(1,10,3))) # 結果是 [1,4,7]
print(list(range(10,-2,-1))) # 結果是 [10,...,-1]
print(list(range(10))) # 結果是 [0,1,...,9]

做用:range #能夠讓for循環數字

for i in range(55):
    print(i) #  結果是打印 1到54
for i in range(100, 0, -1):
    print(i)

# 使用for循環和range 打印 100 ~ 1
# for i in range(100,0,-1):
#     print(i)

# for i in range(1,101,2):
#     print(i)

# for i in range(0,101,2):
#     print(i)

# for i in range(0,101,6):
#     print(i)

range 不能和while一塊兒使用

# 錯誤示例:
# while range(0,10):
#     print(1)
while和for的比較
# lst = []
# flage = True
# while flage:
#     name = input("請輸姓名:")
#     lst.append(name)
#     if len(lst) == 3:
#         flage = False
# print(lst)


# lst = []
# for i in range(3):
#     lst.append(input("請輸入姓名:"))
# print(lst)
相關文章
相關標籤/搜索