给Python程序员的Scala入门教程
转载自:https://www.jianshu.com/p/59dbb62ab358
快速语法对照
List
Python Scala 空List a = []
val a = List()
//List[Nothing]
Int a = [1,2,3,4,5]
val a = List(1,2,3,4,5)
String a = ["a", "b"]
val a: List[String] = List("Hello", "World")
不同类型 a = [1,"Hello"]
val a = List(1, "Hello")
//List[Any]
2维 a = [[1,2,3], [4,5,6]]
val a = List(List(1,2,3), List(4,5,6))
索引 a[10]
a(10)
截取 a[0:2]
a.slice(0,2)
是否为空 not a
a==[]
len(a)==0
a.isEmpty
append a.append(6)
a :+ 6
连接 a.extend([4,5,6])
List.concat(List(1,2,3), List(4,5,6))
反转 a[::-1]
a.reverse
HashMap
Python Scala 新建 map = {"one": 1, "two":2}
val map = Map("one"->1, "two"->2)
新建 val map = Map(("one", 1), ("two", 2))
获取 map["one"]
map("one")
包含 "one" in map
map.contains("one")
添加 map["three"] = 3
map + ("three"->3)
删除 del map["three"]
map - "three"
keys map.keys()
map.keys
values map.values()
map.values
concat map1.update(map2)
map1 ++ map2
Set
Python Scala 新建 s = {1,2,3}
val s = Set(1,2,3)
新建 s = set([1,2,3])
添加 s.add(4)
s + 4
删除 s.remove(4)
s - 4
是否为空 nor s
s.isEmpty
min min(s)
s.min
max max(s)
s.max
concat s1.union(s2)
s1.union(s2)
concat s1 ++ s2
For loop
Python Scala Range for x in range(5): print(x)
for(x <- Range(1, 5)) println(x)
List for x in li: print(x)
for (x <- li) println(x)
Map for k, v in map1.items(): print(k,v)
for ((k,v) <- map1) println(k, v)
Range
Python Scala range(1, 10)
(inclusive, exclusive)Range(1, 10)
(inclusive, exclusive) 1 to 10
(inclusive, inclusive) 1 until 10
(inclusive, exclusive)range(10)
(exclusive) range(1, 10, 2)
1 to 10 by 2
仅支持int 1.0 to 10.0 by 0.5
仅支持int 'a' to 'g' by 2