Python和Scala的集合和映射

集合

1.集合的构造 Scala

```scala> var set0 = Set(1,2,3,4,4)
set0: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 4)```

Python

```set0 = {1,2,3,4,4}
set0
Out[9]: {1, 2, 3, 4}```

```scala> import scala.collection.mutable
import scala.collection.mutable

scala> val set1 = mutable.Set(1,2)
set1: scala.collection.mutable.Set[Int] = Set(1, 2)```

```frozenset({1,2,3,45})
Out[11]: frozenset({1, 2, 3, 45})```

2.集合的求交集和并集 Scala

```scala> val a = Set(1,2)
a: scala.collection.immutable.Set[Int] = Set(1, 2)

scala> val b = Set(1,2,3)
b: scala.collection.immutable.Set[Int] = Set(1, 2, 3)

scala> a|b
res2: scala.collection.immutable.Set[Int] = Set(1, 2, 3)

scala> a&b
res3: scala.collection.immutable.Set[Int] = Set(1, 2)```

Python

```a = {1,2}

b = {1,2,3}

a|b
Out[15]: {1, 2, 3}

a&b
Out[16]: {1, 2}```

3.增添元素 Scala

```scala> var set0 = Set(1,2,3,4,4)
set0: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 4)

scala> set0 += 5

scala> set0
res4: scala.collection.immutable.Set[Int] = Set(5, 1, 2, 3, 4)```

Python

```set0 = {1,2,3,4,4}
set0
Out[19]: {1, 2, 3, 4, 5}```

4.判断某个元素是否存在 Scala

```scala> set0.contains(1)
res7: Boolean = true```

Python

```1 in set0
Out[20]: True```

映射

Map这个实际上有很多的别名，在Scala里称为映射，而在Python则被称为字典，本质都是一样的基于Hash表的数据结构，能够快速的查找某个值。

1.构造 Scala

```scala> val map1 = Map(1 -> "hello",2 -> "world")
map1: scala.collection.Map[Int,String] = Map(1 -> hello, 2 -> world)

scala> import scala.collection.mutable
import scala.collection.mutable

scala> val map0 = mutable.Map[Int, String](1 -> "hello",2 -> "world")
map0: scala.collection.mutable.Map[Int,String] = Map(2 -> world, 1 -> hello)```

Python

```dict0 = {1:"hello",2:"world"}
import types
dict1 = types.MappingProxyType(dict0)```

2.增添元素 初始化为空值

```scala> val map0 = mutable.Map[Int, String]()
map0: scala.collection.mutable.Map[Int,String] = Map()

scala> map0 += (1 -> "hello")
res12: map0.type = Map(1 -> hello)

scala> map0 += (2 -> "world")
res13: map0.type = Map(2 -> world, 1 -> hello)

scala> map0
res15: scala.collection.mutable.Map[Int,String] = Map(2 -> world, 1 -> hello)```

Python

```dict0 = {}

dict0[1] = "hello"

dict0[2] = "world"```

0 条评论

• 一条SQL生命历程

1.一条SQL的诞生首先需要通过某种方式传递给数据库。数据库会有一个客户端用来与外界交流，而作为提交SQL的一方，可以通过ODBC或者是JDBC协议直接将SQL...

• Python和Scala的定义变量

每一门的编程语言背后都代表着某一种特别的哲学，由这一哲学进而设计出属于这门程序语言的语法，Python和Scala也不例外。我们从变量的定义去一窥Python和...

• Streaming SQL基础

基于 Stream & Table relativity,《Streaming Systems》将 declarative 的编程方式往前推进到数据系统中最常用...

• 中科院自动化所余山：对大脑的未知，并不阻碍借鉴大脑，成就智能

近年来，人工智能在经历过一波由深度学习带来的火爆之后，已然进入深水区；如何通向强人工智能，逐渐成为智能研究的各界人士共同关注的中心话题。

• 腾讯WeTest&TesterHome 首次联合举办 Workshop-压测篇（上海）

? WeTest 导读 腾讯官方的一站式品质开放平台「腾讯WeTest」携手知名测试社区「 TesterHome 」，将腾讯沉淀十余年的品质管理经验凝聚而成，...

• 思考，撸一段 SQL ? 还是写一段代码？

以下都为个人思考总结所得，只作为抛砖引玉之说，一定会有不同意见，如果你有不同看法，欢迎拍砖。

• Steam高赞游戏入门机器学习！不写代码，人人可玩，又能吸猫，汉化版已推出

这一游戏，名为《while True: learn()》 是个解谜/模拟类游戏，涵盖了机器学习、神经网络、大数据、人工智能的丰富知识点和实用方法。

• Ambari on Docker

1.从GitHub上下载ambari文件到本地，https://github.com/sequenceiq/docker-ambari

• 【GPLT】L1-029 是不是太胖了

版权声明：本文为博主原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接和本声明。 ...

• LeetCode143|数对和

好久没有写类似的题解了，这题基于数组排序+双指针的思想进行解决，目前自己正在慢慢把已经做过的内容进行输出，其实也算是一种对往日题解的回顾吧，目前已输出一百多道题...