Bill Gates "Source Code"
Online Dictionaries Used:
hk.dictionary.search.yahoo.com
www.oxfordlearnersdictionaries.com
Google AI Overview
扁頭舅父仔嘅網誌
Bill Gates "Source Code"
Online Dictionaries Used:
hk.dictionary.search.yahoo.com
www.oxfordlearnersdictionaries.com
Google AI Overview
In Python, sets and indexes are two different concepts, and they don’t work together the way lists or tuples do.
The error 'set' object is not subscriptable means you tried to access a set element by index, like this:
mySet = {'a', 'b', 'c'}
print(mySet[0]) # ❌ Error
Defined with curly braces {} or the set() constructor.
mySet = set(('a', 'b', 'c'))
('a', 'b', 'c') → This is a tuple containing three elements.
set(('a', 'b', 'c')) → The set() constructor takes that tuple and converts it into a set.
Result: {'a', 'b', 'c'}
Sets automatically remove duplicates (though here there aren’t any).
mySet now holds a set with the elements 'a', 'b', 'c'.
myList = ['a', 'b', 'b', 'c', 'c'] myList = list(set(myList)) print(myList)
['a', 'b', 'b', 'c', 'c'] → a list with duplicates.
set(myList) → converts the list into a set, automatically removing duplicate
list(set(myList)) → converts the set back into a list
Output: ['a', 'b', 'c']
But the order may vary, e.g. ['b', 'c', 'a'].
mySet.add('d') inserts the element 'd' into the set.
If 'd' was already inside, nothing changes (sets don’t allow duplicates).
while len(mySet):
print(mySet.pop())
Condition: while len(mySet):
The loop runs as long as the set is not empty (len(mySet) > 0).
Inside the loop:
mySet.pop() removes and returns an arbitrary element from the set.
print() displays that element.
Iteration:
Each loop removes one element until the set becomes empty.
Loop ends when len(mySet) == 0.
The order is not guaranteed because sets are unordered. Running the same code again may give a different sequence.
myList = ['a', 'b', 'c'] print(myList.pop()) # 'c' (last element) print(myList.pop(0)) # 'a' (index 0) print(myList) # ['b']
return 1, 2, 3 → In Python, when you separate values with commas, they are automatically packed into a tuple.return (1, 2, 3)(1, 2, 3).type(returnsMultipleValues()) → This checks the type of the returned object.<class 'tuple'>
a, b, c = returnsMultipleValues()
returnsMultipleValues() returns a tuple (1, 2, 3).Daylight and Cloudy white balance settings differ mainly in color temperature. Daylight is optimized for clear, sunny conditions with direct sunlight, while Cloudy compensates for overcast skies.
overcast: covered with clouds; not bright
Key Differences:
Daylight targets around 5000-5500K, producing neutral tones for bright, overhead sun; it can make cloudy scenes look cooler or bluish.
Cloudy uses 6000-6500K (or higher), adding warmth (yellow/orange tones) to counteract the diffused, cooler light from clouds. It's good for Hong Kong’s cloudy spring weather.
Use Daylight for sunny outdoor shots; switch to Cloudy on overcast days to avoid flat, cold colors.
日光與陰天白平衡設定主要在色溫上有所不同。日光模式適合晴朗、陽光直射的環境,而陰天模式則用來補償多雲天氣。
主要差異:
日光模式:目標色溫約 5000–5500K,在明亮的正午陽光下呈現中性色調;但在陰天場景中可能會顯得偏冷或帶藍色。
陰天模式:使用 6000–6500K(或更高),增加暖色調(黃色/橙色),以抵消雲層散射造成的冷色光。這在香港春季多雲天氣特別適合。
實用建議:晴朗的戶外拍攝使用日光模式;在陰天時切換到陰天模式,避免照片顏色顯得平淡、冷調。
Aperture Priority, ISO 200, 35mm, f/9, 1/200s
Both iPhone 17 and 17 Pro now feature a 120Hz ProMotion display for smooth scrolling. The standard 17 lacks a dedicated zoom lens, relying on a 2x "optical quality" crop from its main sensor. Both have the new Ceramic Shield 2 (3x more scratch-resistant) on the front, but only the Pro model features it on the back as well.
Whether 8GB of RAM is a "disadvantage" depends largely on how long you intend to keep the phone and how heavily you use multitasking features. In the current generation of mobile tech, 8GB is the baseline for modern "Intelligence" features. Apple has optimized its software so that 8GB can handle complex tasks like local image generation and text summarization.
Given that you are currently using an iPhone SE2 with only 60GB used and plan to keep the iPhone 17 for more than three years, here is a breakdown of why 256GB is likely your "sweet spot," while 512GB is a luxury choice. If you use iCloud (even the 50GB or 200GB plans), your local storage needs drop significantly as older photos are offloaded to the cloud.
iPhone 17 256GB: HKD 6,899
iPhone 17 512GB: HKD 8,599
Your current 50GB iCloud plan is only 20% used (~10GB), so no upgrade needed after getting the iPhone 17—it'll comfortably last 3+ years with your 256GB phone choice.
SE2 stays with you (continue using 60GB photos there or factory reset later)
The iPhone 17 series supports 40W wired fast charging with a compatible USB-C charger, reaching 50% battery in about 20 minutes.
STUDIO A (Apple Premium Reseller)
2197D, 2/F tmtplaza Phase 1
Mon - Thu: 11:00am - 08:00pm
Fri - Sun, PH: 12:00pm - 09:00pm
In Python, list slicing lets you extract portions of a list using the syntax:
list[start:stop:step]
start → index where the slice begins (inclusive).
stop → index where the slice ends (exclusive).
step → interval between indices (default is 1).
Start = 1 → begin at index 1 (the second element, which is 20).
Stop = 4 → go up to, but not including, index 4.
So you get elements at indices 1, 2, and 3 → 20, 30, 40.
Python slicing always excludes the stop index. That’s why 50 (at index 4) isn’t included.
print(numbers[::2])
Start = empty → defaults to the beginning of the list (index 0).
Stop = empty → defaults to the end of the list.
Step = 2 → take every second element.
So Python picks indices 0, 2, 4, ... until the end
myList = [1, 2, 3, 4, 5] print(myList[0:6:2])
Start = 0 → begin at index 0 (1).
Stop = 6 → go up to, but not including, index 6.
Step = 2 → take every second element.
Notice that even though you wrote stop = 6, your list only goes up to index 4. Python slicing doesn’t throw an error — it just stops at the end of the list. That’s why you still get [1, 3, 5].
The range() function in Python generates a sequence of integers, starting from a given start (default 0), stopping before a given stop, and incrementing by a given step (default 1). It’s most often used in loops to control iteration.
range(start, stop, step)
start → optional, default 0. First number in the sequence.
stop → required. Sequence ends before this number.
step → optional, default 1. Difference between consecutive numbers.
Range function is immutable.
>>> for i in range(5): ... print(i) ... 0 1 2 3 4 >>>
>>> myList = [1,2,3,4] ... myList.append(5) ... print(myList) ... [1, 2, 3, 4, 5] >>>
In Python, lists have several useful methods for adding and removing elements. Let’s look at insert(), remove(), and pop() side by side:
numbers = [10, 20, 30] numbers.insert(1, 15) # insert 15 at index 1 print(numbers) # [10, 15, 20, 30]
len(myList) is now 0.b = a.copy() → makes a shallow copy of a.
Now b has its own separate list [1,2,3,4,5].
Auto (White Priority): best for indoor fluorescent or mixed light
Shade: adds warmth to counter bluish tones
Cloudy: warmer balance, good for HK’s cloudy spring weather
Tungsten Light: best for indoor with incandescent bulbs
White Fluorescent Light: best for offices, malls in HK
Microsoft Copilot