目录
一、python中的各种序列指哪些?
二、如何取用list列表中的元素?
三、如何取用tuple元组中的元素?
四、如何取用ndarray数组中的元素?
五、如何取用dict字典中的元素?
六、如何取用Serise中的元素?
七、总结
八、参考来源
一、python中的各种序列指哪些?
list(列表)、tuple(元组)、ndarray(数组)、dict(字典)、pandas.Series,等等。
本文强调的是python中所有容器中元素的取用方法,并重点强调多维索引,对「切片」的知识讲解较少。
二、如何取用list列表中的元素?
a=[[1,2,3],[4,5,6]]
# 取出列表a中的一个元素
print(a[1][1]) #对多维列表的索引,应该用多个并排的中括号
print(a[1,1])
#出错误了,TypeError: list indices must be integers or slices, not tuple
print('列表的子内容{0[1,1]}'.format([[1,2],[1,2]]))
#出错误了,TypeError: list indices must be integers or slices, not str
三、如何取用tuple元组中的元素?
a = ((1,2,3),(4,5,6))
a[1][1] #和列表一样,都是用多个中括号,一个中括号只能放一个维度的索引值
# 输出5
四、如何取用ndarray数组中的元素?
a = np.round(np.random.rand(3,3)*10)
print(a)
# a = [[3. 5. 3.]
# [5. 7. 9.]
# [9. 9. 6.]]
print(a[1,1,1]) # 常规用法是用逗号分隔各个维度的索引
print(a[1:3])
# a[1:3]=[[5. 7. 9.]
# [9. 9. 6.]]
a[1:3][0] # 相当于(a[1:3])[0] ,也即把a[1:3]看成一个整体
# 输出为[5. 7. 9.]
a[1:3][1]
# 输出为[9. 9. 6.]
五、如何取用dict字典中的元素?
dict_2d = {'a': {'a': 1, 'b': 3}, 'b': {'a': 6}}
print(dict_2d['a']['b']) # 对字典,可以用键来索引其value
# 输出为3
六、如何取用Serise中的元素?
import numpy as np
import pandas as pd
e = pd.Series(data=[1,2,3,4,5],index=['zero','one','two','three','four'])
print(e[1]) # 利用序号来取出Series中的值
print(e['one']) # 利用索引字符串来取出Series中的值
print(e[np.array([False,True,False,False,False])]) # 利用元素是布尔类型的ndarray取出目标项
# 输出结果
# 2
# 2
# one 2
# dtype: int64
七、总结
可见,除了ndarray是用逗号分隔各个维度下的索引数据,其他的类似list、tuple、dict等序列都是用多个中括号来分别装载各个维度的索引数。
八、参考来源
Python tuple元组详解-C语言中文网
pandas详解(Series篇)_CHenXoo的博客-CSDN博客_pandas中的series
?
|