目录:
参考:
列表截取很灵活,下面通过例子说明:
还可以通过 a[0:8:2] 来截取
>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[-1] # 最后一个元素9>>> a[-2] # 倒数第二个8>>> a[:3] # 第一个到索引为(3-1)的,不包括3[0, 1, 2]>>> a[-3:] # 倒数第三个到最后[7, 8, 9]
参考:
- Python的元组与列表类似,不同之处在于元组的元素不能修改。
- 元组使用小括号,列表使用方括号(例如记录坐标点,a = (123, 37))。
- 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
- 获取单个要素通过方括号,例如 dimension[0]
参考:
- 字典是另一种可变容器模型,且可存储任意类型对象(类似 HTML 和 XML 的标签与值)。
- 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
- d = { key1 : value1, key2 : value2 }
代码实现:按照数字排序,获取前四位数字对应的分类的数目
>>> films_results = [128, 118, 16, 18, 20, 130]>>> films_class = ['Action', 'Action', 'Romance', 'Romance', 'Romance', 'Action']>>> sortedIndices = np.argsort(films_results)>>> sortedIndicesarray([2, 3, 4, 1, 0, 5], dtype=int64)>>> k=4>>> classCount = {}>>> for i in range(k): voteLabel = films_class[sortedIndices[i]] classCount[voteLabel] = classCount.get(voteLabel, 0) + 1>>> classCount{'Romance': 3, 'Action': 1}
dict.get(key,default=None),字典的get()方法,返回指定键的值,如果值不在字典中返回默认值。
dict.fromkeys(iterable, value=None, /): Create a new dictionary with keys from iterable and values set to value.
用来创建一个新的字典,keys 保留 iterable 的,值按照 value。
列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。列表的数据项不需要具有相同的类型。
Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
tup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5 );tup3 = "a", "b", "c", "d";
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
本文以 列表(List) 为例。
list1 = ['physics', 'chemistry', 1997, 2000]list2 = [1, 2, 3, 4, 5]list3 = ["a", "b", "c", "d", "e"]print list1print list2print list3 print list1[0] print list2[2:] print list3[1:4]
********** RESULTS **********
['physics', 'chemistry', 1997, 2000][1, 2, 3, 4, 5]['a', 'b', 'c', 'd', 'e'] physics [3, 4, 5] ['b', 'c', 'd']
list1 = ['physics', 'chemistry', 1997, 2000]print list1[1]list1[1] = 'math'print list1[1]
********** RESULTS **********
chemistrymath
可以使用 del 语句来删除列表的的元素,如下实例:
list1 = ['physics', 'chemistry', 1997, 2000]print list1print list1[1]del list1[1]print list1print list1[1]
********** RESULTS **********
['physics', 'chemistry', 1997, 2000]chemistry['physics', 1997, 2000]1997
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示:
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
list[:2]、list[-3:]、list[:] | 灵活截取 | |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
4 not in [1, 2, 3] | True | 元素是否不存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
[i+1 for i in range(0, 5)] | 通过已有列表建立新列表 | |
>>> a[0, 1, 2, 3, 4]>>> b = [i+1 for i in a]>>> b[1, 2, 3, 4, 5]>>> c = a + 1>>> [i for i in range(0, 5)][0, 1, 2, 3, 4]>>> [str(i) for i in range(0, 5)]['0', '1', '2', '3', '4'] |
list1 = ['physics', 'chemistry', 1997, 2000]print len(list1)list2 = list1 + list1list3 = list1 * 3print list2print list3if(1997 in list1): print list1else: print list2for x in list1: print x
********** RESULTS **********
4['physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000]['physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000]['physics', 'chemistry', 1997, 2000]physicschemistry19972000
Python包含以下函数:
序号 | 函数 |
---|---|
1 | 比较两个列表的元素说明:list1 与 list2 一样,返回值为 0 |
2 | 列表元素个数 |
3 | 返回列表元素最大值 |
4 | 返回列表元素最小值 |
5 | 将元组转换为列表 |
Python 包含以下方法:
序号 | 方法 |
---|---|
1 | 在列表末尾添加新的对象 |
2 | 统计某个元素在列表中出现的次数 |
3 | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | 从列表中找出某个值第一个匹配项的索引位置 |
5 | 将对象插入列表 |
6 | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | 移除列表中某个值的第一个匹配项 |
8 | 反向列表中元素 |
9 | 对原列表进行排序 |