dict(Object) & list(Array)
{} & []
dict
python中的Object!
result = {}
result['a'] = 'A'
print(result) # {'a': 'A'}
result['a'] = 'AA'
print(result) # {'a': 'AA'}
result = { 'a':'A' }
print(result.__contains__('a')) # True
print(result.__contains__('b')) # False
d = {'a': 'A', 'b': 'B'}
result = str(d)
> {'a': 'A', 'b': 'B'}
d.get(key)
# 在 key(键)不在字典中时,可以返回默认值 None 或者设置的默认值。
d[key]
# 在 key(键)不在字典中时,会触发 KeyError 异常。
list
python中的Array!
#Adds a single element to the end of the array.
#將單個元素添加到數組的末尾。
append(x)
#將列表、數組或其他可迭代對象添加到數組的末尾。
#Adds a list, array, or other iterable to the end of array.
extend(iterable)
#在給定的數組索引之前插入一個元素。
#Inserts an element before the given index of the array.
insert(i, x)
foreach
l = ['A']
for i in range(len(l)): #foreach with index
print(l[i]) # A
for s in l: #foreach content
print(s) # A
or_query_list = ['OR條件1', 'OR條件2']
for i in range(len(or_query_list)):
or_query_list[i] = f'fieldName={or_query_list[i]}'
where_str = ' OR '.join(or_query_list)
轉為list
任何長得像list的東西可以嘗試這樣轉出...
list(likeListObject)
list(dict.keys()) #這裡的dict.keys沒有index屬性不方便取值,轉成list就可以了
合併
子項合併
按序合併
兩個list的項目必須是相同數量。
直接合併
list_a = [1, 2, 3]
list_b = [4, 5, 6]
#子項合併
list_a + list_b
> [1, 2, 3, 4, 5, 6]
#按序合併
list(zip(list_a, list_b))
> [(1, 4), (2, 5), (3, 6)]
# zip可將兩個list按每項目合併。
#直接合併
[list_a, list_b]
> [[1, 2, 3], [4, 5, 6]]
參考: https://pythonviz.com/basic/3-ways-to-combine-list-in-python/
分組切割
大list切割成小list。
將一個list中的元素,分組成「每個列表中最多包含20個元素」的小列表。
# 創建一個長度為50,包含數字1到50的列表
my_list = [i for i in range(1, 51)]
# 一個列表生成式(list comprehension)。
result = [my_list[i:i+20] for i in range(0, len(my_list), 20)]
'''拆解說明
使用 for 和 range(),將原始列表 my_list 按照「每20個元素一組」的方式分組成多個小列表,並將這些小列表存儲到新的列表 result 中。
range(0, len(list), 20)
=>生成一個「從0開始、到my_list長度結束、步長為20」的數字序列。
PS:假如列表中的元素個數不足20個,那麼最後一組的元素數量就會小於20個。
list[i:i+20]
=>在每次循環中複製一個小列表,並包含原始列表 my_list 中「從第i個元素開始,長度為20(或不到20個)」的子列表切片。
每次迴圈i的值增加20,直到所有的元素都被分組。最後生成的新列表result,就是一個被分組的列表,包含了分組后的所有子列表
'''
'''python result
[
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
[21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40],
[41, 42, 43, 44, 45, 46, 47, 48, 49, 50]
]
'''
判斷是否為
isinstance(o, dict)
isinstance(a, list)
for each
for k in o:
for i in a:
for i in range(num):
Last updated