python学习记录之---------数据处理(1)数组/二维数组的定义和使用

工具/版本

(1)安装环境:Windows7 64bit

(2)使用版本Python3.7



Python 列表(List)

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。


定义数组

1、定义一维数组

data_group = []

2、定义二维数组

(1)定义三个数组,使用时Data_groups[0][0],第一个数组第一个元素

data_groups = [[]]*3

这个一般不是我们想要的,运行结果如下,任意一个数组增加一个元素,所有数组都增加

data_groups[1].append(5)
print(data_groups)
[[5], [5], [5]]

(2)定义三个数组,只增加自己增加的那个数组

graph = [[] for i in range(3)]

示例如下

graph[1].append(5)
print(graph)
[[], [5], []]

数组的使用

1、增加元素

(1)向后增加append

data_group.append(1)
data_group.append(2)
print(data_group)

[1, 2]

(2)向前增加,第一个0指的是向第0个位置插入

insert() 函数用于将指定对象插入列表的指定位置,

list.insert(index, obj)

data_group.insert(0,1)
data_group.insert(0,2)
[2, 1]

2、删除元素

data_group = ['physics', 'chemistry', 1997, 2000]
del data_group[3]
print(data_group)

['physics', 'chemistry', 1997]

3、对列表进行排序

可使用sort函数或者sorted函数,两者基本无差异

#语法
list.sort(cmp=None, key=None, reverse=False)
  • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。python3中取消该函数
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

实例:

(1)、使用默认参数

data_group = [123,2202,785,567,1103];
data_group.sort();
print(data_group)
[123, 567, 785, 1103, 2202]

(2)、降序排列

data_group = [123,2202,785,567,1103];
data_group.sort(reverse = True);
print(data_group)
(3)、自定义排序书序,示例为以第二个元素排序

# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
# 列表
data_group = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
data_group.sort(key=takeSecond)
print(data_group)

4、统计列表元素个数

(1)统计指定元素出现次数

count()方法语法

list.count(obj)

参数:obj -- 列表中统计的对象。

返回值:返回元素在列表中出现的次数

data_group = [2, 2, 3, 4, 4, 2, 1, 2, 1, 3]
num = data_group.count(2)
print("2出现的次数是:%r次" % num)
2出现的次数是:4

(2)统计所有元素出现次数使用Counter函数(注意这个C是大写,之前一直报错)

from collections import Counter
data_group = [2, 2, 3, 4, 4, 2, 1, 2, 1, 3]
num = Counter(data_group)
print(num)
Counter({2: 4, 3: 2, 4: 2, 1: 2})
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值