Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 选择列表项_Python_List_Slice - Fatal编程技术网

Python 选择列表项

Python 选择列表项,python,list,slice,Python,List,Slice,需要帮忙吗 Example to select first 5 items from the below list nums = [10, 20, 30, 40, 50, 60, 70, 80, 90] nums[:5] output = [10, 20, 30, 40, 50] 如果我想我的输出如下。 预期产出=[10,20,60,70,90] 请让我知道如何做到这一点 我正在尝试这样的东西 nums[:1,5:6,8] nums[0,1,5,6,8]使用数组索引的一种方法可以使用numpy

需要帮忙吗

Example to select first 5 items from the below list
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
nums[:5]
output = [10, 20, 30, 40, 50]
如果我想我的输出如下。 预期产出=[10,20,60,70,90]

请让我知道如何做到这一点

我正在尝试这样的东西 nums[:1,5:6,8]
nums[0,1,5,6,8]

使用数组索引的一种方法可以使用numpy完成

>pip安装numpy

import numpy as np

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
nums_np = np.array(nums)
inds = np.array([0,1,5,6,8])
result = nums_np[inds]
print(results)

另一种方式:

result = np.r_[nums_np[:2], nums_np[5:7], nums_np[8]]

使用数组进行索引的一种方法是使用numpy

>pip安装numpy

import numpy as np

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
nums_np = np.array(nums)
inds = np.array([0,1,5,6,8])
result = nums_np[inds]
print(results)

另一种方式:

result = np.r_[nums_np[:2], nums_np[5:7], nums_np[8]]

您可以连接多个3个列表以实现此目的,其中一个由前3个元素组成,一个包含元素60、70,另一个包含最后一个元素,如下所示:

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[:2] + nums[5:7] + nums[-1:])

# output [10,20,60,70,90]

您可以连接多个3个列表以实现此目的,其中一个由前3个元素组成,一个包含元素60、70,另一个包含最后一个元素,如下所示:

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[:2] + nums[5:7] + nums[-1:])

# output [10,20,60,70,90]

通用切片表示法不允许这种复杂的逻辑,您必须这样做:
nums[:2]+nums[5:7]+nums[8:][/code>重复的问题不是重复的。这个问题是不同的-它问的是多个切片,而这些切片在本文中没有提到dupe@PatrickArtner请删除此问题的重复标记,因为我检查了“理解切片表示法”问题,但没有提到+运算符。这只是基本的,没有帮助。Thanks@Jk185我还为concatating问题添加了dupe-您在slice语法方面遇到了问题(我正在尝试
nums[:1,5:6,8]
),因此一开始会弹出一个。这里有另一个重复:通用slice表示法不允许如此复杂的逻辑,您必须执行:
nums[:2]+nums[5:7]+nums[8://code>“重复“这个问题不是重复的。这个问题是不同的-它问的是多个切片,而这些切片在本文中没有提到dupe@PatrickArtner请删除此问题的重复标记,因为我检查了“理解切片表示法”问题,但没有提到+运算符。这只是基本的,没有帮助。Thanks@Jk185我还为concatating问题添加了dupe-您在slice语法方面遇到了问题(我正在尝试
nums[:1,5:6,8]
)这是另一个重复:谢谢你的回答,两人都在为我工作,并且了解了一些新的东西谢谢你的回答,两人都在为我工作,并且了解了一些新的东西谢谢你的回答,我将使用你的答案,因为它与我的问题非常吻合。我不知道+运算符。谢谢你的回答。我将使用你的答案,因为它非常适合我的问题。我不知道+运算符。