元组(Tuple)
zip()函数
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
语法:
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| >>>a = [1,2,3] >>> b = [4,5,6] >>> c = [4,5,6,7,8] >>> zipped = zip(a,b) >>> zipped <zip object at 0x103abc288> >>> list(zipped) [(1, 4), (2, 5), (3, 6)] >>> list(zip(a,c)) [(1, 4), (2, 5), (3, 6)]
>>> a1, a2 = zip(*zip(a,b)) >>> list(a1) [1, 2, 3] >>> list(a2) [4, 5, 6] >>>
|
另一个示例:
1 2 3
| test_arr = ['a','b','c','d','e'] sorted_test_arr = sorted(zip(test_arr, range(len(test_arr)))) print(sorted_test_arr)
|
列表(List)
列表(list)是python常用的四种collection数据类型之一,使用方括号括起来即可,方括号中的元素类型不需要相同
1 2 3 4
| sample_list = [] list1 = ['张三','李四','王五'] list2 = [1, 2, 3, 4, 5] list3 = [1, 2, 3, "a", "b", "c"]
|
列表的创建
列表取值、切片操作
1 2 3 4 5 6 7 8 9 10
| list1 = [1,2,3,4,5] print(list1[2]) print(list1[-2]) print(list1[2:4]) print(list1[2:]) print(list1[-2:]) print(list1[-4:3]) print(list1[::-1]) print(list1[::2]) print(list1[1:4:2])
|
添加元素
使用list.append('new element')
在列表末尾追加元素:
1 2 3
| sample_list =[1,2,2,4,4,4] sample_list.append(5) print(sample_list)
|
也可以使用list.insert(index, obj)
来在列表索引值为index的元素前插入obj元素
1 2 3
| sample_list =[1,2,2,4,4,4,5] sample_list.insert(2, 3) print(sample_list)
|
删除元素
1 2 3
| list1 = [1,2,3,4,5] del list1[2] print(list1)
|
可以使用list.pop([index=-1])
方法来移除列表中的一个元素(默认最后一个元素), 并且返回该元素的值:
1 2 3 4 5 6 7
| sample_list = [1, 2, 3, 4, 5] print(sample_list.pop()) print(sample_list)
sample_list = [1, 2, 3, 4, 5] print(sample_list.pop(1)) print(sample_list)
|
可以使用list.remove(obj)
方法来移除元素:
1 2 3 4 5 6 7
| sample_list = ['BMW', 'Tesla', 'Benz', 'Audi'] sample_list.remove('Tesla') print(sample_list)
sample_list1 = [1, 2, 3, 4, 5] sample_list1.remove(3) print(sample_list1)
|
修改元素
1 2
| list1 = [1,2,3,4,5] del list1[2]
|
合并列表
- 直接使用+来合并列表
1 2 3
| list1 = [1,2,3,4,5] list2 = [6,7,8] print(list1 + list2)
|
- 可以使用extend方法
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
1 2 3 4
| list1 = [1,2,3,4,5] list2 = [6,7,8] list1.extend(list2) print(list1)
|
- 使用切片
1 2 3 4
| list1 = [1,2,3,4,5] list2 = [6,7,8] list1[len(list1): len(list1)] = list2 print(list1)
|
list1[x:x] = list2,其中x表示list2插入list1的位置
比如:
1 2 3 4
| list1 = [1,2,3,4,5] list2 = [6,7,8] list1[2:2] = list2 print(list1)
|
注意: 如果使用append来合并两个列表会变成下面的结果:
1 2 3 4
| list1 = [1,2,3,4,5] list2 = [6,7,8] list1.append(list2) print(list1)
|
判断数组中是否包含某元素
1 2 3
| list1 = [1,2,3,4,5] print( 2 in list1) print( 0 in list1)
|
列表复制
1 2
| list1 = [1,2,3,4,5] print( list1 * 3)
|
list.count(obj)
同于统计某个元素在列表中出现的次数
1 2
| sample_list =[1,2,2,4,4,4,5] print(sample_list.count(4))
|
反转列表中的元素
可以使用list.reverse()来反转列表中的元素
1 2 3
| sample_list = [1, 2, 3, 4, 5] sample_list.reverse() print(sample_list)
|
列表排序
使用list.sort()对原列表进行排序
1 2 3
| sample_list = [1, 3, 5, 2, 4, 6] sample_list.sort() print(sample_list)
|
获取最大、最小值
1 2 3 4
| list01 = [1,2,3,4,5] print(max(list01)) print(min(list01)) print(sum(list01))
|
字典(Dict)
定义
1
| book = {'key': 'valule', ... }
|
访问
Conda
mac 安装了conda后,前面会有一个(base)
,是因为安装了Conda后,
每次启动终端都会自动启动Conda的base环境,Conda的环境可以使用conda env list
查看
如果不想每次启动时都显示这个base,可以使用下面的命令关掉自动启动:
1
| conda config --set auto_activate_base false
|
一次性启动或者关闭环境的命令:
1 2
| conda deactivate conda activate
|