Ответ 1
что slice()
для:
a = range(10)
s = slice(2,4)
print a[s]
но это не так уж сильно отличается от a[2:4]
.
Учитывая список
a = range(10)
Вы можете разрезать его с помощью таких утверждений, как
a[1]
a[2:4]
Однако я хочу сделать это на основе переменной, указанной в другом месте кода. Я легко могу сделать это для первого
i = 1
a[i]
Но как мне это сделать для другого? Я пробовал индексирование со списком:
i = [2, 3, 4]
a[i]
Но это не работает. Я также попытался использовать строку:
i = "2:4"
a[i]
Но это тоже не работает.
Возможно ли это?
что slice()
для:
a = range(10)
s = slice(2,4)
print a[s]
но это не так уж сильно отличается от a[2:4]
.
Почему это должна быть единственная переменная? Просто используйте две переменные:
i, j = 2, 4
a[i:j]
Если это действительно должна быть одна переменная, вы можете использовать кортеж.
При назначении ниже вы все еще используете один и тот же тип операций резки, который вы показываете, но теперь с переменными для значений.
a = range(10)
i = 2
j = 4
затем
print a[i:j]
[2, 3]
>>> a=range(10)
>>> i=[2,3,4]
>>> a[i[0]:i[-1]]
range(2, 4)
>>> list(a[i[0]:i[-1]])
[2, 3]