1. 程式人生 > >python——list and dictionary

python——list and dictionary

list

  1. 定義:python中的集合是一種容器,可以儲存任何資料(在js中一個python的list就是一個array)
  2. 例如:
    • 一個空的集合:empty = [ ]
    • 數字集合:nums = [10, 20, 30, 40.4]
    • 字串集合:str = [‘w’, ‘o’, ‘r’, ‘d’]
    • 混合型別的集合:anything = [10, ‘hi’, ‘python’, 12.4]
  3. 一個list的索引就是它的位置,通常索引是以0開始
  4. 可以通過索引獲得指定的集合項,比如:nums[0];也可以通過一個範圍獲取一個字列表,比如:anything[1:3]——>[‘hi’, ‘python’]
  5. 可以建立一個有元素的list或者空的list ,eg:arr = [];
    可以通過append()方法像集合中新增元素,eg:arr.append(‘12’);
    可以通過remove()方法從集合中移除元素,通過元素的值,eg:arr.remove(‘12’);
    可以通過del 關鍵字刪除元素,通過元素的索引,eg:del arr[0];
  6. 兩個結合必須有相同的元素以及順序才能相等
  7. 二維集合
menus = [ ['Spam n Eggs', 'Spam n Jam', 'Spam n Ham'], 
        ['SLT (Spam-Lettuce-Tomato)', 'PB&S (PB&Spam)'],
['Spalad', 'Spamghetti', 'Spam noodle soup']] menus[0][1]---'Spam n Jam'

dictionary

  1. 定義:字典與列表類似,但可以使用鍵而不是索引查詢值,eg:str={‘name’:’jim’, ‘sex’:’man’, ‘age’: 12};
  2. 向字典中新增或者更新元素,str[‘add’] = ‘中國’
  3. 刪除元素用del , eg: del str[‘add’] ——同時刪除key和value
    4.如果使用name[‘key’]這種方式獲取值,當key不存在是會造成錯誤;可以使用get()方法,如果返回結果是none說明元素不存在
  4. none 表示沒有值,並且在條件判斷中表示false
  5. 因為dictionary是無序的,所以是要擁有相同的鍵值對就是相等的
  6. 可以在dictionary中巢狀使用list,
eg:menus = {'Breakfast': ['Spam n Eggs', 'Spam n Jam', 'Spam n Ham'],
            'Lunch': ['SLT (Spam-Lettuce-Tomato)', 'PB&S (PB&Spam)'], 
            'Dinner': ['Spalad', 'Spamghetti', 'Spam noodle soup'] }
   print('Breakfast Menu:\t', menus['Breakfast'])
  1. 如果想獲取dictionary中的所有鍵,可以使用keys()方法;
    如果想獲取dictionary中的所有值,可以使用values()方法

迴圈

  1. for name in list:
    執行體
  2. eg:
prices = [2.50, 3.50, 4.50]
for price in prices: //price是一個臨時變數來儲存每次迴圈是prices的值
    print('Price is', price)

menu_prices = {'Knackered Spam': 0.50, 'Pip pip Spam': 1.50, 'Squidgy Spam': 2.50, 'Smashing Spam': 3.50}
for name, price in menu_prices.items(): 
    print(name, ': $', price)
  1. random 的使用
    • random.random() 生成一個[0.0,1.0)的隨機數
    • random.choice( [list] ) 從list中隨機選出一個值
    • random.randint(start, end) 在[start,end)中隨機生成一個整數
    • range(num) 生成從[0, num-1]的列表
    • range(start, end, step)
  2. format 的使用
    • print()預設有一個空格來分隔每個單詞。我們可以通過設定sep =空字串來覆蓋它
print(name, ': $', price, sep='')
  • 我們可以使用format()函式將我們的price float格式化為兩位小數
print(name, ': $', format(price, '.2f'), sep='')
  1. while 迴圈
while 條件:
  執行語句

歡迎大家關注小白菜!
github:yuanyi0510
個人部落格:你說_