實戰(zhàn)中程序要處理的數(shù)據(jù)都是一批一批的。可能從數(shù)據(jù)庫讀取,也可能從文件或者網(wǎng)絡(luò)接口讀取。但在處理前程序先要Hold住這些數(shù)據(jù)。這個時候就需要用到3個基本數(shù)據(jù)結(jié)構(gòu)。程序員要熟練使用他們的常用方法(讀取元素、遍歷、添加、刪除等)。
1.list
2.dictionary(map)
3.set
1 - List
python創(chuàng)建list很簡單,把list的元素放在中括號中就可以了,用逗號隔開
odd_numbers = [1, 3, 5, 7, 9]
常用方法
** 讀list中的某個元素 **
odd_numbers[0] // 1
odd_numbers[-1] // 倒數(shù)第一個是9
** 遍歷list中的每一個元素 **
for oddNumber in odd_numbers:
print(oddNumber)
** 取子集 - slice **
list[start:stop:step]
odd_numbers[0, 3] //1, 3, 5
** 判斷元素是否在list中 **
if 1 in odd_numbers:
print("1是奇數(shù)")
else:
print("1部署奇數(shù)")
if 2 not in odd_numbers:
print("2不是奇數(shù)")
** list中元素的個數(shù) **
odd_len = len(odd_numbers)
** 往list中添加元素 **
odd_numbers.append(11)
odd_numbers.extend([13, 15, 19])
odd_numbers.insert(8, 17)
** 從list中刪除元素 **
odd_numbers.remove(7)
odd_numbers.pop()
2 - Dictionary
list不是萬能的,當(dāng)我們需要存儲鍵值對類型數(shù)據(jù)的時候需要用到Dictionary, Java中叫Map
常用方法
** 創(chuàng)建 **
花括號,鍵值對用逗號隔開,鍵和值用冒號隔開
person = {'name': 'John', 'gender': 'Male', 'Age': 36, 'company': '996'}
** 讀某個鍵的值 **
person['name']
** 遍歷所有的key **
for k in person:
print(k)
** 遍歷鍵值對 **
for k, v in person.items():
print(k, '->', v)
** 添加鍵值對 **
person['發(fā)量'] = '稀少'
** 更新值 **
person['發(fā)量'] = '中等'
** 元素是否存在 **
if 'salary' not in person:
print("薪資信息保密,取不到")
** 設(shè)定默認值 **
person.setdefault('salary', 40000) //憑良心猜
3 - Set
Set和List相比最大的不同時元素不能重復(fù)
mvps2018 = {'Jack Lu', 'Jack You', 'Timothy', 'Vivian'}
** 合并Set, 并消除重復(fù) **
mvps2019 = {'Tony', 'Jack You'}
mvpsAll = mvps2018.union(mvps2019) ** 兩個Set之間不同的部分 ** mvpsDiff = mvps2018.difference(mvps2019) ** 兩個Set之間重合的部分 ** mvpsIntersect = mvps2018.intersection(mvps2019) ```
4 - 最后再送一個 Tuples
就是List, 但是創(chuàng)建好之后,這個list就不允許修改. 改就報錯
mvpsFinal = ('Jack Lu', 'Oliver')
小結(jié)
以上就是基本數(shù)據(jù)結(jié)構(gòu),不算復(fù)雜,但是可以組合起來搞復(fù)雜。例如在Dictionary的值也是Dictionary, List的元素也是List之類的。