Первый индекс списка Python, больше, чем x?

Есть два пути. Слева вы видите управляющий символ H, которого вы жаждете. Путь в этом направлении кажется ясным, всего лишь немного

echo xterm.vt100.backarrowKey: true >> ~/.Xresources; xrdb ~/.Xresources

, за которым следует либо перезапуск всех ваших xterms, либо нажатие клавиши control и вашей основной кнопки мыши в каждом окне, чтобы вызвать меню, которое позволяет вам изменить его в окно; сам пункт меню является вторым в третьем разделе, он находится прямо под опцией 8-битных элементов управления. Этот путь кажется жизнеспособным. За исключением, будьте осторожны, под самой клавишей control-H есть люк, потому что тогда backspace перестает работать везде, кроме самого bash. Конечно, у вас уже есть выход из этого лабиринта с вашим сту фу. Но я помню, что сталкивался с множеством других проблем на этом пути. Одним из них является то, что консоль Linux также использует ^? вместо ^ H, и это не так легко изменить.

Или, другой способ - заставить vim делать то, что вы пытаетесь, используя ^ ?. Я думаю, что это просто

:map ^V^? x

Заметьте, что я имею в виду контр-V возврат, а не каретный V-каретный вопрос. Вы также хотели бы добавить это к вашему ~ / .vimrc, если это делает то, что вам нужно. При этом вы не сказали точно, где vim работает не совсем правильно, поэтому, возможно, вам нужен другой твик.

68
задан Oliver Ni 18 December 2016 в 04:29
поделиться

8 ответов

next(x[0] for x in enumerate(L) if x[1] > 0.7)
92
ответ дан 24 November 2019 в 14:11
поделиться

Попробуйте этого:

def Renumerate(l):
    return [(len(l) - x, y) for x,y in enumerate(l)]

пример кода:

Renumerate(range(10))

вывод:

(10, 0)
(9, 1)
(8, 2)
(7, 3)
(6, 4)
(5, 5)
(4, 6)
(3, 7)
(2, 8)
(1, 9)
0
ответ дан 24 November 2019 в 14:11
поделиться

если список отсортирован, то bisect_left (alist, value) быстрее для большого списка, чем next (i for i, x in enumerate (alist) if x> = value) .

22
ответ дан 24 November 2019 в 14:11
поделиться
filter(lambda x: x>.7, seq)[0]
14
ответ дан 24 November 2019 в 14:11
поделиться
>>> alist= [0.5, 0.3, 0.9, 0.8]
>>> [ n for n,i in enumerate(alist) if i>0.7 ][0]
2
10
ответ дан 24 November 2019 в 14:11
поделиться
for index, elem in enumerate(elements):
    if elem > reference:
        return index
raise ValueError("Nothing Found")
7
ответ дан 24 November 2019 в 14:11
поделиться

Еще один:

map(lambda x: x>.7, seq).index(True)
3
ответ дан 24 November 2019 в 14:11
поделиться
>>> f=lambda seq, m: [ii for ii in xrange(0, len(seq)) if seq[ii] > m][0]
>>> f([.5, .3, .9, .8], 0.7)
2
0
ответ дан 24 November 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: