切片 2D Python 列表
Slicing 2D Python List
假设我有一个列表:
list = [[1, 2, 3, 4],
['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
我想得到类似的东西:
newList = [[2, 3, 4],
['b', 'c', 'd'],
[8, 7, 6]]
因此我尝试使用这个解决方案
print(list[0:][1:])
但我得到了这个输出
[['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
所以我尝试了
print(list[1:][0:])
但我得到的结果完全一样。
我试图对这个特定主题进行一些研究和实验,但没有任何结果。
您希望矩阵中 每 行的第 1 到结束元素。
mylist = [[1, 2, 3, 4],
['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
new_list = [row[1:] for row in mylist]
首先 - 不要将您的列表命名为“列表”!
a = [[1, 2, 3, 4],
['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
b = [x[1:] for x in a]
print(b)
[[2, 3, 4], ['b', 'c', 'd'], [8, 7, 6]]
我想解释一下,你用这个做了什么
print(list[0:][1:])
print(list[1:][0:])
首先注意 python 使用从 0 开始的索引,即对于 [1,2,3] 有第 0 个元素、第 1 个元素和第 2 个元素。
[0:]
表示从第 0 个元素开始获取列表元素,这将为您提供列表的副本,[1:]
表示从第 1 个元素开始获取列表元素,这将为您提供除第 0 个以外的所有列表元素。因此,这两行彼此等价于
print(list[1:])
您可能需要使用理解或 map
的输出,如下所示
list1 = [[1, 2, 3, 4], ['a', 'b', 'c', 'd'], [9, 8, 7, 6]]
list2 = list(map(lambda x:x[1:],list1))
print(list2)
输出
[[2, 3, 4], ['b', 'c', 'd'], [8, 7, 6]]
lambda
这里是无名函数,注意这里的理解更易读,但如果你之前使用过具有类似功能的语言,例如JavaScript's map
假设我有一个列表:
list = [[1, 2, 3, 4],
['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
我想得到类似的东西:
newList = [[2, 3, 4],
['b', 'c', 'd'],
[8, 7, 6]]
因此我尝试使用这个解决方案
print(list[0:][1:])
但我得到了这个输出
[['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
所以我尝试了
print(list[1:][0:])
但我得到的结果完全一样。
我试图对这个特定主题进行一些研究和实验,但没有任何结果。
您希望矩阵中 每 行的第 1 到结束元素。
mylist = [[1, 2, 3, 4],
['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
new_list = [row[1:] for row in mylist]
首先 - 不要将您的列表命名为“列表”!
a = [[1, 2, 3, 4],
['a', 'b', 'c', 'd'],
[9, 8, 7, 6]]
b = [x[1:] for x in a]
print(b)
[[2, 3, 4], ['b', 'c', 'd'], [8, 7, 6]]
我想解释一下,你用这个做了什么
print(list[0:][1:])
print(list[1:][0:])
首先注意 python 使用从 0 开始的索引,即对于 [1,2,3] 有第 0 个元素、第 1 个元素和第 2 个元素。
[0:]
表示从第 0 个元素开始获取列表元素,这将为您提供列表的副本,[1:]
表示从第 1 个元素开始获取列表元素,这将为您提供除第 0 个以外的所有列表元素。因此,这两行彼此等价于
print(list[1:])
您可能需要使用理解或 map
的输出,如下所示
list1 = [[1, 2, 3, 4], ['a', 'b', 'c', 'd'], [9, 8, 7, 6]]
list2 = list(map(lambda x:x[1:],list1))
print(list2)
输出
[[2, 3, 4], ['b', 'c', 'd'], [8, 7, 6]]
lambda
这里是无名函数,注意这里的理解更易读,但如果你之前使用过具有类似功能的语言,例如JavaScript's map