python——list and dictionary
阿新 • • 發佈:2018-11-09
list
- 定義:python中的集合是一種容器,可以儲存任何資料(在js中一個python的list就是一個array)
- 例如:
- 一個空的集合:empty = [ ]
- 數字集合:nums = [10, 20, 30, 40.4]
- 字串集合:str = [‘w’, ‘o’, ‘r’, ‘d’]
- 混合型別的集合:anything = [10, ‘hi’, ‘python’, 12.4]
- 一個list的索引就是它的位置,通常索引是以0開始
- 可以通過索引獲得指定的集合項,比如:nums[0];也可以通過一個範圍獲取一個字列表,比如:anything[1:3]——>[‘hi’, ‘python’]
- 可以建立一個有元素的list或者空的list ,eg:arr = [];
可以通過append()方法像集合中新增元素,eg:arr.append(‘12’);
可以通過remove()方法從集合中移除元素,通過元素的值,eg:arr.remove(‘12’);
可以通過del 關鍵字刪除元素,通過元素的索引,eg:del arr[0]; - 兩個結合必須有相同的元素以及順序才能相等
- 二維集合
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
- 定義:字典與列表類似,但可以使用鍵而不是索引查詢值,eg:str={‘name’:’jim’, ‘sex’:’man’, ‘age’: 12};
- 向字典中新增或者更新元素,str[‘add’] = ‘中國’
- 刪除元素用del , eg: del str[‘add’] ——同時刪除key和value
4.如果使用name[‘key’]這種方式獲取值,當key不存在是會造成錯誤;可以使用get()方法,如果返回結果是none說明元素不存在 - none 表示沒有值,並且在條件判斷中表示false
- 因為dictionary是無序的,所以是要擁有相同的鍵值對就是相等的
- 可以在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'])
- 如果想獲取dictionary中的所有鍵,可以使用keys()方法;
如果想獲取dictionary中的所有值,可以使用values()方法
迴圈
- for name in list:
執行體 - 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)
- 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)
- format 的使用
- print()預設有一個空格來分隔每個單詞。我們可以通過設定sep =空字串來覆蓋它
print(name, ': $', price, sep='')
- 我們可以使用format()函式將我們的price float格式化為兩位小數
print(name, ': $', format(price, '.2f'), sep='')
- while 迴圈
while 條件:
執行語句
歡迎大家關注小白菜!
github:yuanyi0510
個人部落格:你說_