容器:lists 與 dictionaries

給 R 使用者的 Python

Daniel Chen

Instructor

Lists

  • 類似 R 的向量與 list
  • 可存異質資訊(如 [3, 2.718, True, 'hello']
給 R 使用者的 Python

建立 lists

R
l <- list(1, "2", TRUE)
l
[[1]]
[1] 1

[[2]]
[1] "2"

[[3]]
[1] TRUE
Python
l = [1, '2', True]
l
[1, '2', True]
給 R 使用者的 Python

Python 的 0 起始索引

Python 為 0 起始索引語言

給 R 使用者的 Python

List 索引取值

R

從 R 的 list 取第 1 個元素

l[[1]]  # 使用 1
1
Python

從 Python 的 list 取第 1 個元素

l[0] # 使用 0
1
給 R 使用者的 Python

負索引

負索引從尾端開始計數

給 R 使用者的 Python

負索引

R
l <- list(1, "2", TRUE)
l[-1]
[[1]]
[1] "2"

[[2]]
[1] TRUE
Python
l = [1, "2", True]
l[-1]
True
給 R 使用者的 Python

左含右不含

左含右不含

給 R 使用者的 Python

像圍籬柱一樣思考

index 0           1           2           3           4           5
      |           |           |           |           |           |
      | element 0 | element 1 | element 2 | element 3 | element 4 |
      |           |           |           |           |           |
給 R 使用者的 Python

切片 第 1 部分

Python
l = [0, 1, 2, 3, 4]

l[0:3]
[0, 1, 2]
l[0:5:2]
[0, 2, 4]
給 R 使用者的 Python

切片 第 2 部分

省略寫法
l[:3]
[0, 1, 2]
l[1:]
[1, 2, 3, 4]
l[::2]
[0, 2, 4]
完整寫法
l[0:3]
[0, 1, 2]
l[1:5]
[1, 2, 3, 4]
l[0:5:2]
[0, 2, 4]
給 R 使用者的 Python

Dictionaries

  • Lists 無標籤
  • Dictionaries 以 key:value 成對
給 R 使用者的 Python

Python:建立與操作 dictionaries

d = {'int_value':3, 'bool_value':False, 'str_value':'hello'}

d
{'int_value': 3, 'bool_value': False, 'str_value': 'hello'}
d['str_value']
'hello'
給 R 使用者的 Python

計算長度

l = [0, 1, 2, 3, 4]
d = {'int_value':3, 'bool_value':False, 'str_value':'hello'}

len(l)
5
len(d)
3
給 R 使用者的 Python

一起來練習吧!

給 R 使用者的 Python

Preparing Video For Download...