木兰编程语言入门教程之五——数据结构

本教程不求全面,各个方面点到即止。目标是尽快对木兰编程语言的功能有基本的了解。

之前的章节:

五、数据结构

5.1 列表

列表操作,包括计数、搜索、倒序、添加、排序,等等。

> 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()
香蕉

用列表实现队列,可以用collections.deque:

> using deque in collections
> queue = deque(['张三', '李四', '王五'])
> queue.append("小红")
> queue.popleft()
张三
> queue.popleft()
李四
> queue
deque(['王五', '小红'])

创建列表可以简化。相比这样建平方数列表:

> squares = []
> for n in 0..10 {
>> squares.append(n^2)
>> }
> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

可以对数列各项应用匿名函数生成,单行即可:

> list(map(n -> n^2, 0..10))

5.2 字典

基本操作:

> phone = {'小明': 1234, '小红': 4321}
> phone['小明'] = 1357
> phone
{小明: 1357, 小红: 4321}
> phone['大黄'] = 2468
> phone
{小明: 1357, 小红: 4321, 大黄: 2468}
> list(phone)
[小明, 小红, 大黄]

5.3 循环

遍历字典:

> for k, v in phone.items() {
>> println(k, v)
>> }
小明 1357
小红 4321
大黄 2468
>

遍历序列时,可以获取索引号:

> for i, v in enumerate(['小', '中', '大']) {
>> println(i, v)
>> }
0 小
1 中
2 大

用zip同时遍历多个序列:

> for q, a in zip(['名', '出身'], ['木兰', '贫寒']) {
>> println('{0}?{1}。'.format(q, a))
>> }
名?木兰。
出身?贫寒。
展开阅读全文

页面更新:2024-04-07

标签:木兰   建平   遍历   梨子   猕猴桃   数据结构   大黄   贫寒   橙子   序列   香蕉   字典   函数   葡萄   入门教程   苹果   列表   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top