所以我想创build一个列表,这是一个现有列表的子列表。 例如, L = [1, 2, 3, 4, 5, 6, 7] ,我想创build一个子列表li ,使得li包含L中奇数位置的所有元素。 虽然我可以做到 L = [1, 2, 3, 4, 5, 6, 7] li = [] count = 0 for i in L: if count % 2 == 1: li.append(i) count += 1 但是我想知道是否有另一种方法可以有效地执行相同的步骤。
用Python中的列表,我可以使用下面的代码返回它的一部分: foo = [1,2,3,4,5,6] bar = [10,20,30,40,50,60] half = len(foo) / 2 foobar = foo[:half] + bar[half:] 由于Ruby在数组中做了所有事情,我不知道是否有类似的东西。
(编辑以适应答案) 看bash(1)手册页中的“数组”部分,我没有find切片bash数组的方法。 所以我想出了这个过于复杂的function: #!/bin/bash # @brief: slice a bash array # @arg1: output-name # @arg2: input-name # @args: seq args # ———————————————- function slice() { local output=$1 local input=$2 shift 2 local indexes=$(seq $*) local -ii local tmp=$(for i in $indexes do echo "$(eval echo \"\${$input[$i]}\")" done) local IFS=$'\n' eval $output="( \$tmp )" } 像这样使用: […]
我需要列表中的最后9个数字,我相信有一种方法可以用切片来完成,但是我似乎无法得到它。 我可以得到这样的第一个9: num_list[0:9] 任何帮助将是伟大的。
我知道我可以使用像string[3:4]这样的东西来获取Python中的一个子string,但是在somesequence[::3]是什么意思?
我从csv文件加载一些机器学习数据。 前两列是观察值,其余列是特征。 目前,我做了以下几点: data = pandas.read_csv('mydata.csv') 这给了一些像: data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde')) 我想在两个数据框中分割这个dataframe:一个包含列a和b ,另一个包含列c , d和e 。 写这样的东西是不可能的 observations = data[:'c'] features = data['c':] 我不确定最好的方法是什么。 我需要一个pd.Panel吗? 顺便说一下,我发现dataframe索引相当不一致: data['a']是允许的,但data[0]不是。 另一方面, data['a':]是不允许的,但data[0:]是。 这有没有一个实际的理由? 假如data[0] != data[0:1]
我有一个包含一些图像数据的numpy数组。 我想绘制在图像上绘制的横断面的“轮廓”。 最简单的情况是与图像边缘平行的轮廓,所以如果图像数组是imdat ,那么选定点(r,c)处的轮廓简单地是imdat[r] (水平)或imdat[:,c] (垂直)。 现在,我想把两个点(r1,c1)和(r2,c2)作为input,它们都位于imdat 。 我想绘制连接这两点的线的值的轮廓。 从这样的一行中获得一个numpy数组的值的最好方法是什么? 更一般地说,沿着path/多边形? 我以前使用过切片和索引,但是我似乎无法得到这样一个优雅的解决scheme,即连续的切片元素不在同一行或列中。 谢谢你的帮助。
我正在分析一些Python代码,我不知道是什么 pop = population[:] 手段。 是像Java中的数组列表或二维数组? 可以欣赏一些帮助,谢谢。
我正在寻找一种快速,干净,pythonic的方式来将列表分割成几乎相等的分区。 partition([1,2,3,4,5],5)->[[1],[2],[3],[4],[5]] partition([1,2,3,4,5],2)->[[1,2],[3,4,5]] (or [[1,2,3],[4,5]]) partition([1,2,3,4,5],3)->[[1,2],[3,4],[5]] (there are other ways to slice this one too) 有几个答案在这里迭代列表切片运行非常接近我想要的,除了他们的重点是列表的大小 ,我关心列表的数量 (其中一些还填充无)。 显然,这些都是微不足道的,但我正在寻找一个最佳实践。 同样,人们在这里指出了很好的解决scheme。 如何将一个列表分成大小均匀的块? 对于一个非常类似的问题,但我更感兴趣的分区数量比特定的大小,只要在1以内。再次,这是微不足道的可转换,但我正在寻找一个最佳实践。
我在许多地方看到使用list s的片分配。 在使用(非默认)索引时,我能够理解它的用法,但我不能理解它的用法,如: a_list[:] = ['foo', 'bar'] 与那个有什么不同? a_list = ['foo', 'bar'] ?