索引列表元素
Indexing a list a element
你能帮我一下吗
给定一个单词列表(即这个列表可以包含任意数量的字符串,并且字符串的位置是随机的):
List1 = ['ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO' ]
或
List2 = ['NEUTRAL', 'NEUTRAL', 'ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO', 'NEUTRAL']
我想定义这个列表的索引。 NEUTRAL 字符串的索引必须为 -1。其他字符串的索引必须依次为0、1等。
例如在 list1 中,索引必须是 indexes = [0, 1, -1, 2, 3, 4]
。
List 2 索引必须是 indexes = [-1, -1, 0, 1, -1, 2, 3, 4, -1]
这是我的尝试:
这是其中一种方法:
List1 = ['NEUTRAL', 'NEUTRAL', 'ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO', 'NEUTRAL']
indexes = []
counter = 0
for element in List1:
if element == 'NEUTRAL':
indexes.append(-1)
else:
indexes.append(counter)
counter += 1
print (indexes)
输出:
[-1, -1, 0, 1, -1, 2, 3, 4, -1]
您可以使用 itertools.count
生成计数器和列表理解:
from itertools import count
c = count()
out = [next(c) if v!= 'NEUTRAL' else -1 for v in List1]
输出:[0, 1, -1, 2, 3, 4]
“List2”的输出:[-1, -1, 0, 1, -1, 2, 3, 4, -1]
你能帮我一下吗
给定一个单词列表(即这个列表可以包含任意数量的字符串,并且字符串的位置是随机的):
List1 = ['ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO' ]
或
List2 = ['NEUTRAL', 'NEUTRAL', 'ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO', 'NEUTRAL']
我想定义这个列表的索引。 NEUTRAL 字符串的索引必须为 -1。其他字符串的索引必须依次为0、1等。
例如在 list1 中,索引必须是 indexes = [0, 1, -1, 2, 3, 4]
。
List 2 索引必须是 indexes = [-1, -1, 0, 1, -1, 2, 3, 4, -1]
这是我的尝试:
这是其中一种方法:
List1 = ['NEUTRAL', 'NEUTRAL', 'ENG', 'ENG', 'NEUTRAL' , 'TSO', 'ENG', 'TSO', 'NEUTRAL']
indexes = []
counter = 0
for element in List1:
if element == 'NEUTRAL':
indexes.append(-1)
else:
indexes.append(counter)
counter += 1
print (indexes)
输出:
[-1, -1, 0, 1, -1, 2, 3, 4, -1]
您可以使用 itertools.count
生成计数器和列表理解:
from itertools import count
c = count()
out = [next(c) if v!= 'NEUTRAL' else -1 for v in List1]
输出:[0, 1, -1, 2, 3, 4]
“List2”的输出:[-1, -1, 0, 1, -1, 2, 3, 4, -1]