在字典中访问行和列

时间:2016-09-16 15:49:05

标签: python dictionary

我有一个字典,其键作为元组和值分配给这些键。

我想根据键位置执行一系列操作。

这是我到目前为止编写的代码。

字典:

p={(0, 1): 2, (1, 2): 6, (0, 0): 1, (2, 0): 7, (1, 0): 4, (2, 2): 9, (1, 1): 5, (2, 1): 8, (0, 2): 3}

所需的输出是:

我想要各行的值如下所示。

q=[[1,2,3], [4,5,6], [7,8,9]]

我写了这段代码可以为列做这个技巧:

r=[[p[(x,y)] for x in range(3)] for y in range(3)]

输出如下所示:

r=[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

我知道如何使用以下代码执行此操作:

z=[]
for i in range(3):
    z.append([p[i,j] for j in range(3)])

这给了我:

z=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

我的问题是,我可以在一个列表理解中进行该操作吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您在x的代码中翻转yr,它似乎会以您希望的方式输出。例如,

r=[[p[(x,y)] for y in range(3)] for x in range(3)]

结果

  

[[1,2,3],[4,5,6],[7,8,9]]

答案 1 :(得分:1)

我曾尝试在代码中做几件事。我写了它但没有意识到这一点,并继续尝试与代码的不同组合。

以下是答案:

-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    UITableViewRowAction *editAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"Clona" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
        //insert your editAction here
    }];
    editAction.backgroundColor = [UIColor blueColor];

    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"Delete"  handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
        //insert your deleteAction here
    }];
    deleteAction.backgroundColor = [UIColor redColor];
    return @[deleteAction,editAction];
}

谢谢!