本教程不求全面,各個方面點到即止。目標是儘快對木蘭編程語言的功能有基本的瞭解。
之前的章節:
一、淺介二、控制走向三、函數和類型四、模塊五、數據結構
5.1 列表
列表操作,包括計數、搜索、倒序、添加、排序,等等。
<code>> fruits = ['橙子', '蘋果', '梨子', '香蕉', '獼猴桃', '蘋果', '香蕉']
> fruits.count('蘋果')
2
> fruits.count('柑橘')
0
> fruits.index('香蕉')
3
> fruits.index('香蕉', 4)
6
> fruits.reverse()
> fruits
[香蕉, 蘋果, 獼猴桃, 香蕉, 梨子, 蘋果, 橙子]
> fruits.append('葡萄')
> fruits
[香蕉, 蘋果, 獼猴桃, 香蕉, 梨子, 蘋果, 橙子, 葡萄]
> fruits.sort()
> fruits
[梨子, 橙子, 獼猴桃, 蘋果, 蘋果, 葡萄, 香蕉, 香蕉]
> fruits.pop()
香蕉/<code>
用列表實現隊列,可以用collections.deque:
<code>> using deque in collections
> queue = deque(['張三', '李四', '王五'])
> queue.append("小紅")
> queue.popleft()
張三
> queue.popleft()
李四
> queue
deque(['王五', '小紅'])/<code>
創建列表可以簡化。相比這樣建平方數列表:
<code>> squares = []
> for n in 0..10 {
>> squares.append(n^2)
>> }
> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]/<code>
可以對數列各項應用匿名函數生成,單行即可:
<code>> list(map(n -> n^2, 0..10))/<code>
5.2 字典
基本操作:
<code>> phone = {'小明': 1234, '小紅': 4321}
> phone['小明'] = 1357
> phone
{小明: 1357, 小紅: 4321}
> phone['大黃'] = 2468
> phone
{小明: 1357, 小紅: 4321, 大黃: 2468}
> list(phone)
[小明, 小紅, 大黃]/<code>
5.3 循環
遍歷字典:
<code>> for k, v in phone.items() {
>> println(k, v)
>> }
小明 1357
小紅 4321
大黃 2468
>/<code>
遍歷序列時,可以獲取索引號:
<code>> for i, v in enumerate(['小', '中', '大']) {
>> println(i, v)
>> }
0 小
1 中
2 大/<code>
用zip同時遍歷多個序列:
<code>> for q, a in zip(['名', '出身'], ['木蘭', '貧寒']) {
>> println('{0}?{1}。'.format(q, a))
>> }
名?木蘭。
出身?貧寒。/<code>