1. 程式人生 > 實用技巧 >劍指 Offer 32 - III. 從上到下列印二叉樹 III

劍指 Offer 32 - III. 從上到下列印二叉樹 III

  • Q:什麼是列表
  • A:一系列按特定順序排列的元素
#列表建議名稱  names letters digits
phone = ['apple','xiaomi','huawei','vivo']
print(phone)

  • Q:訪問列表元素
  • A:將該元素的位置告訴python
phone = ['apple','xiaomi','huawei','vivo']
print(phone[0].title())

  • Q:索引從0開始
  • A:0 1 2 3 ...... -3 -2 -1
phone = ["apple" , 'xiaomi' , 'huawei' , 'vivo']
print(phone[-1].title())
--------------------------------------------------------------------
Vivo

  • Q:根據列表中的值來拼接訊息
  • A:拼接
phone = ['apple','xiaomi','huawei','vivo']
message = ‘My first phone was a ' + phone[1].title() + '.'
print(message)
--------------------------------------------------------------------
My first phone was a Xiaomi.

  • Q:修改列表元素
  • A:從新定義列表元素
phone = ['apple','xiaomi','huawei','vivo']
print(phone)

phone[0] = 'oppo'
print(phone)

  • Q:新增列表元素
  • A:
    1. 在列表末尾新增元素  方法.append("xxx")
    2. 在列表中插入元素    方法.insert(0,'xxx')
#下面建立一個空列表  逐步新增列表元素
phone = []
phone.append('apple')
phone.append('xiaomi')
phone.append('huawei')
print(phone)
-----------------------------------------------------------------------------------------------------------------------------------------------------
['apple','xiaomi','huawei']

#下面是在列表中插入元素的例子
phone = ['apple','xiaomi','huawei']
phone.insert(0,'vivo')
print(phone)
-----------------------------------------------------------------------------------------------------------------------------------------------------
['vivo','apple','xiaomi','huawei']

  • Q:刪除列表元素
  • A:
    1. 使用del xxx[0]語句永久刪除列表元素
    2. 使用方法.pop(0)彈出一個元素
    3. 使用方法.remove('xxx')根據值刪除元素

    2與3刪除後的元素可以再次訪問  見例子

#下面使用del語句永久刪除列表元素
phone = ['apple','xiaomi','huawei']
print(phone)

del phone[0]
print(phone)
-----------------------------------------------------------------------------------------------------------------------------------------------------
['apple','xiaomi','huawei']
['xiaomi','huawei']

#下面使用方法.pop()彈出一個元素
phone = ['apple','xiaomi','huawei']
poped_phone = phone.pop()
print(phone)
phone.insert(0,'apple')
poped_phone = phone.pop(-1)
print(phone)
----------------------------------------------------------------------------------------------------------------------------------------------------
['apple', 'xiaomi']
['apple', 'apple']

#下面使用方法.remove()刪除列表元素
phone = ['apple','xiaomi','huawei']
expensive_phone = 'apple'
phone.remove(expensive_phone)
print(phone)
print('Fuck ' + expensive_phone.title() + '!') 
#.remove只能刪除列表中的第一個指定的值

  • Q:組織列表
  • A:
    1. 按字母順序對列表進行永久性排序 .sort()
    2. 按字母順序對列表進行臨時性排序 函式sorted() #這是個函
    3. 倒著永久性地列印列表方法 .reverse()
    4. 確定列表長度 函式len()

    注意 len()這裡統計的是列表中元素的個數

#下面是按字母順序對列表哦進行永久排列
cars = ['bmw','audi','toyota','subaru']
print(cars)
cars.sort()
print(cars)
#下面演示向方法.sort()傳遞引數reverse = True 可以反字母順序排列列表
cars.sort(reverse = True)
print(cars)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
['bmw', 'audi', 'toyota', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']

#下面是使用.sorted()函式對列表按字母順序臨時排序
cars = ['bmw','audi','toyota','subaru']
print(cars)
print(sorted(cars))
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
['bmw', 'audi', 'toyota', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
['bmw', 'audi', 'toyota', 'subaru']

#下面是使用方法.reverse()倒著列印列表   可以再用同樣的方法恢復列表順序
cars = ['bmw','audi','toyota','subaru']
print(cars)
cars.reverse()
print(cars)

#下面是用用函式len()確定列表長度
cars = ['bmw','audi','toyota','subaru']
len(cars)

  • Q:避免索引錯誤
  • A:索引是從0開始的   python返回的錯誤資訊 IndexError:list index out of range
#   建議
#   嘗試將列表或其長度打印出來