数组字典的嵌套使用

  一、数组嵌套数组

   1. 1) NSArray *class1 = @[@"tom", @"merry", @"Jack", @"teddy"];//班级1学生名字

        NSArray *class2 = @[@"aa", @"bb", @"cc"];//班级2学生名字

       2)把这两个班级放到一个年级里面

        NSArray *allClass = @[class1, class2];

        NSLog(@"%@", allClass);//输出这个这个数组所有值

        3)按步取班级2名字叫bb的学生

         a.先取最内层数组

        NSArray *arr = [allClass objectAtIndex:1];

         b.取最终的值

        NSArray *arr1 = [arr objectAtIndex:1];

        NSLog(@"%@", arr1);

        4)快速取出班级2名字叫bb的学生

        NSLog(@“%@", allClass[1][1]);//先取allClass下标为1的数组,然后再取需要内容的下标值

二、数组嵌套字典

    1. 1)  定义两个不可变字典

             NSDictionary *class1 = @{@"001":@"haLiBote", @"002":@"jiangZiYa"};

             NSDictionary *class2 = @{@"001":@"sunWuKong", @"002":@"huLuWa"};

        2)把两个字典的内容装入数组中

           NSArray *allClass = @[class1, class2];

        3)输出数组内所有的内容

           NSLog(@"%@", allClass);

        4)找班级1学号是002的学生名字

        NSLog(@"%@",allClass[1][@"002"]);



三、核心

1.代码取值:取值的时候是从外层到里层依次取值;

2.大脑分析:分析的时候是从里层到外层分析数据层次关系。


假设你有一个 CSV 文件,其中每一行都包含一个嵌套字典嵌套数组的数据结构,你可以使用 Python 中的 csv 模块来按行读取 CSV 文件,并将每一行数据转换为对应的 Python 数据结构。然后,你可以对每个字典数组进行操作,按需进行赋值。 以下是一个示例代码,其中假设 CSV 文件的第一行为列名,第二行及以后为数据: ```python import csv with open('data.csv', 'r', newline='') as f: reader = csv.DictReader(f) for row in reader: # 将字符串转换为字典数组 dict_data = eval(row['dict_column']) list_data = eval(row['list_column']) # 操作字典数组 dict_data['new_key'] = 'new_value' list_data.append('new_element') # 将修改后的数据重新赋值给 CSV 文件对应的列 row['dict_column'] = str(dict_data) row['list_column'] = str(list_data) # 将修改后的行数据写入新的 CSV 文件 with open('new_data.csv', 'a', newline='') as f_new: writer = csv.DictWriter(f_new, fieldnames=reader.fieldnames) if f_new.tell() == 0: writer.writeheader() # 写入列名 writer.writerow(row) ``` 在这个示例代码中,我们首先使用 csv 模块中的 DictReader 类来按行读取 CSV 文件,并将每一行数据转换为一个字典。然后,我们使用 eval 函数将 CSV 文件中的字符串转换为对应的 Python 数据结构。接着,我们对字典数组进行操作,将修改后的数据重新赋值给 CSV 文件对应的列。最后,我们使用 csv 模块中的 DictWriter 类将修改后的行数据写入一个新的 CSV 文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值