语言循环结构小明摘苹果_木兰编程语言入门教程之五——数据结构

本教程不求全面,各个方面点到即止。目标是尽快对木兰编程语言的功能有基本的了解。所有内容在此验证过。欢迎反馈/提交PR。

之前的章节:

  • 一、浅介
  • 二、控制走向
  • 三、函数和类型
  • 四、模块

五、数据结构

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))
>> }
名?木兰。
出身?贫寒。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值