python3(七)dict list

# dict全稱dictionary,在其餘語言中也稱爲map,使用鍵-值(key-value)存儲,具備極快的查找速度。
# dict內部存放的順序和key放入的順序是沒有關係的
# 根據同窗的名字查找對應的成績,若是用list實現,須要兩個list
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
# dict實現,只須要一個「名字」-「成績」的對照表
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])  # 95
# 經過key 添加或者覆蓋
d['Adam'] = 67
print(d)  # {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 67}
d['Adam'] = 66
print(d)  # {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 66}
# key不存在,dict就會報錯
# 判斷key是否存在 in 或者get
print('Thomas' in d)  # False
print(d.get('Thomas'))  # None
# 刪除某個元素
d.pop('Bob')
print(d)  # {'Michael': 95, 'Tracy': 85, 'Adam': 66}
# 和list比較,dict有如下幾個特色:
# --查找和插入的速度極快,不會隨着key的增長而變慢;
# --須要佔用大量的內存,內存浪費多。
# --------------------------------------------------------
# set set和dict相似,也是一組key的集合,但不存儲value。因爲key不能重複,因此,在set中,沒有重複的key。
# 建立一個set,須要提供一個list做爲輸入集合,復元素在set中自動被過濾
s = set([1, 1, 2, 2, 3, 3])
print(s)  # {1, 2, 3} # 顯示的{1, 2, 3}只是告訴你這個set內部有1,2,3這3個元素,顯示的順序也不表示set是有序的
# 添加元素 add
s.add(4)
print(s)  # {1, 2, 3, 4}
# remove 刪除元素
s.remove(4)
print(s)  # {1, 2, 3}

# 多個set操做
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print(s1 & s2)  # {2, 3}
print(s1 | s2)  # {1, 2, 3, 4}

# 不可變對象
# str 不可變對象
a = 'abc'
a.replace('a', 'A')
print(a)  # abc
a = 'abc'
b = a.replace('a', 'A')
print(b)  # Abc

 list createapp

list(range(1, 11))  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
L = []
for x in range(1, 11):
    L.append(x * x)
print(L)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 功能同上
LL = [x * x for x in range(1, 11)]
print(LL)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

ll = [x * x for x in range(1, 11) if x % 2 == 0]
print(ll)  # [4, 16, 36, 64, 100]

lc = [m + n for m in 'ABC' for n in 'XYZ']
print(lc)  # ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

import os  # 導入os模塊,模塊的概念後面講到

dr = [d for d in os.listdir('.')]  # os.listdir能夠列出文件和目錄
print(
    dr)  # ['dict_set7.py', 'enc3.py', 'for6.py', 'func8.py', 'hello.py', 'hello2.py', 'if5.py', 'iteration10.py', 'listCreate.py', 'list_tuple4.py', 'pian9.py']

d = {'x': 'A', 'y': 'B', 'z': 'C'}
for k, v in d.items():
    print(k, '=', v)
# x = A
# y = B
# z = C

L = ['Hello', 'World', 'IBM', 'Apple']
print([s.lower() for s in L])  # ['hello', 'world', 'ibm', 'apple']
相關文章
相關標籤/搜索