三种数据结构

首先看看这三种数据结构:

第一种,只存一个数组:

activities = [  
    {  
        name: "first activity",  
        sign_ups:[],  
        bids:[]  
    },  
    {  
        name: "second activity",  
        sign_ups: [  
            {  
                name:"仝键",  
                phone:"13600000000"  
            }  
        ],  
        bids:[  
            {  
                name:"竞价1",  
                biddings : [  
                    {  
                        name: "仝键",  
                        phone:"13600000000",  
                        price: "12"  
                    }  
                ]  
            }  
        ]  
    }  
]  

 第二种,利用哈希存储数据:

activities = {  
    "0":{  
        name: "first activity",  
        sign_ups:[],  
        bids:[],  
        biddings:{}  
    },  
    "1": {  
        name: "second activity",  
        sign_ups: [  
            {  
                name:"仝键",  
                phone:"13600000000"  
            }  
        ],  
        bids:["竞价1","竞价2"],  
        biddings:{  
            "竞价1":[  
                {  
                    phone:"13600000000",  
                    price: "12"  
                }  
            ],  
            "竞价2": [  
                {  
                    phone:"13600000000",  
                    price: "10"  
                }  
            ]  
        }  
    }  
}  

 第三种,分成几个数组,层次少了:

activities = [  
    {  
        id:"0",  
        name: "first activity"          
    },  
    {  
        id:"1",  
        name: "second activity"  
    }  
];  
  
sign_ups = [  
    {  
        name:"仝键",  
        phone:"13600000000",  
        activity_id:"0"  
    },{  
        name:"仝",  
        phone:"13600000000",  
        activity_id:"1"  
    }  
]  
bids = [  
    {  
        name: "竞价1",  
        activity_id:"0",  
        biddings:[  
            {  
                phone:"13600000000",  
                price: "9"  
            }  
        ]  
    }  
]  

 对于这三种结构,第一种只存一个数组,层次嵌套比较深,在存取数据时特别麻烦,要根据条件一层一层的遍历查找,比较耗内存,影响运行速度,但在信息匹配上,第一种还是挺方便的,不要太多的判断匹配。第二种是哈希的存储方式,与第一种相比,多出一个竞价报名的数组,在存取上优于第一种,稍微简单了。第三种数据结构,只有一层或两层,结构比较清晰,不需要繁琐的遍历查找,存取上很方便,但是在信息的匹配上会有一些麻烦,当时写时,在匹配信息上比较让我头疼。

 

关于这三种存储的方式,我比较喜欢第二种,利用哈希来存储,下面就来介绍一下哈希是如何存取的。

var a = {};    //定义一个变量为哈希
a.name = "moneyinto";   //第一种存储方式
a["age"] = "23";     //第二种存储方式
console.log(a);     
//object {name:"moneyinto",age:"23"}

var b = a.name;      //b的值为moenyinto

a.age = "22";      //这样就直接更改了age属性对应的值了

 哈希存的东西很多,不一定是字符串类型的或数值,它还可以存函数方法等,个人感觉不错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: pandas主要提供了以下三种数据结构: 1. Series:一维数组,类似于Python中的列表或者数组,每个元素都有一个索引。 2. DataFrame:二维的表格型数据结构,每列可以有不同的数据类型(数值、字符串、布尔值等),类似于Excel或SQL表格。 3. Panel:三维的数组,可以看作是DataFrame的容器,但是DataFrame只能处理二维数据,因此Panel可以用来处理更高维度的数据。不过在实际应用中,Panel的使用很少,一般使用DataFrame就足够了。 ### 回答2: pandas主要提供了三种数据结构:Series、DataFrame和Panel。 1. Series(系列)是pandas的一维数据结构,类似于带标签的数组。它由一组数据和与之关联的索引(标签)组成。Series可以由列表、数组或字典等数据类型创建。每个Series对象都有一个默认的整数索引,可以根据位置或标签进行访问和操作。 2. DataFrame(表格)是pandas的二维数据结构,类似于电子表格或数据库中的表格。DataFrame由一组有序的列组成,每列可以是不同的数据类型(例如数值、字符串、布尔值等)。DataFrame具有行索引和列标签,可以按照行或列对数据进行选择、过滤、排序等操作。 3. Panel(面板)是pandas的三维数据结构,用于存储面板数据。面板数据可以被看作是DataFrame对象的容器,其中每个DataFrame表示的是时间序列数据的不同面面。Panel可以用于表示多个数据集的多个DataFrame,并对这些数据进行处理、分析以及统计。然而,随着pandas版本的更新,Panel的使用越来越少,通常更倾向于使用MultiIndex实现多维索引的数据结构。 ### 回答3: pandas主要提供了三种数据结构,分别是:Series、DataFrame和Panel。 1. Series是pandas中最基本的数据结构,类似于一维数组或列表,可以存储任意类型的数据。它由一组数据和与之相关的索引组成,索引可以是整数、标签等。Series具有类似于NumPy数组的功能,但带有额外的标签,可以通过标签进行数据访问和操作。 2. DataFrame是pandas中最常用的数据结构,类似于二维表格或电子表格。它以类似于关系型数据库的形式存储数据,包含多个列和行,每列表示一个变量,每行表示一条记录。DataFrame能够处理不同类型的数据,并且可以对数据进行灵活的操作和转换,提供了各种统计分析、数据清洗和数据处理的功能。 3. Panel是pandas中较少使用的数据结构,用于存储三维数据。它可以看作是多个DataFrame组成的字典。Panel包含一个item轴,表示每个DataFrame的名称,一个major轴,表示每个DataFrame的行索引,还有一个minor轴,表示每个DataFrame的列索引。Panel适用于处理需要三维数据分析的情况,但在实际应用中较为少见。 总之,pandas提供了Series、DataFrame和Panel三种数据结构,使得数据的处理和分析更加方便和高效。无论是一维数据、二维表格还是三维数据,pandas都可以提供灵活而强大的工具来进行数据处理和分析。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值