鉴于[1=>[4=>[]],3=>[2=>[]],0=>[6=>[]],8=>[2=>[]]]
,我如何获得[4,2,6]
?我显然可以使用foreach()
循环,但我对是否有更简洁的解决方案感兴趣。
<?php
$arr1=[
1=>[4=>[]],
3=>[2=>[]],
0=>[6=>[]],
8=>[2=>[]],
];
print_r($arr1);
$arr2=[4,2,6,2];
print_r($arr1);
$arr3=array_values(array_unique($arr2));
print_r($arr3);
Array
(
[1] => Array
(
[4] => Array
(
)
)
[3] => Array
(
[2] => Array
(
)
)
[0] => Array
(
[6] => Array
(
)
)
[8] => Array
(
[2] => Array
(
)
)
)
Array
(
[1] => Array
(
[4] => Array
(
)
)
[3] => Array
(
[2] => Array
(
)
)
[0] => Array
(
[6] => Array
(
)
)
[8] => Array
(
[2] => Array
(
)
)
)
Array
(
[0] => 4
[1] => 2
[2] => 6
)
答案 0 :(得分:1)
你可能会这样做:
import pandas as pd
cis = pd.ExcelFile(r"C:\mypath\myfile.xlsx")
df1 = cis.parse('1. Consumers', skiprows=[0,1,2,3,4,5,6],parse_cols=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]).drop([13])
这类似于第一条评论中提出的解决方案,但是当内部数组中有多个项目时,此方法也可以使用
答案 1 :(得分:0)
array_map
和key
函数中最短的函数:
$result = array_unique(array_map(function($a){ return key($a); }, $arr1));
print_r($result);
输出:
Array
(
[1] => 4
[3] => 2
[0] => 6
)