Функция транспонирования / распаковки (обратная сторона zip)?

Вы можете просто использовать пользовательский TimePicker с отражением для установки значений.

 @Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();

    try {
        Class<?> classForid = Class.forName("com.android.internal.R$id");
        Field field = classForid.getField("minute");

        NumberPicker mMinuteSpinner = (NumberPicker) findViewById(field.getInt(null));
        mMinuteSpinner.setMinValue(5);
        mMinuteSpinner.setMaxValue((60 / timeInterval) - 1);

        List<String> displayedValues = new ArrayList<>();
        for (int i = 0; i < 60; i += timeInterval)
            displayedValues.add(String.format("%02d", i));
        mMinuteSpinner.setDisplayedValues(displayedValues.toArray(new String[0]));

        mMinuteSpinner.setWrapSelectorWheel(true);

    } catch (Exception e) {
        e.printStackTrace();
    }

}

Таким образом, вы можете установить, какие значения вы хотите

465
задан TrebledJ 27 March 2019 в 12:23
поделиться

2 ответа

zip его собственная инверсия! Если Вы используете специальное предложение * оператор.

>>> zip(*[('a', 1), ('b', 2), ('c', 3), ('d', 4)])
[('a', 'b', 'c', 'd'), (1, 2, 3, 4)]

способ, которым это работает, путем вызова zip с аргументами:

zip(('a', 1), ('b', 2), ('c', 3), ('d', 4))

†¦ кроме аргументов передаются zip непосредственно (после того, чтобы быть преобразованным в кортеж), таким образом, нет никакой потребности волноваться о количестве аргументов, становящихся слишком большой.

715
ответ дан Patrick 27 March 2019 в 12:23
поделиться

Вы могли также сделать

result = ([ a for a,b in original ], [ b for a,b in original ])

, Это должно масштаб лучше. Особенно, если Python выполняет не расширение пониманий списка, если не необходимый.

(Кстати, это делает с 2 кортежами (пара) списков, а не список кортежей, как zip делает.)

, Если бы генераторы вместо фактических списков в порядке, это сделало бы это:

result = (( a for a,b in original ), ( b for a,b in original ))

генераторы не жуют через список, пока Вы не просите каждый элемент, но с другой стороны, они действительно сохраняют ссылки на исходный список.

26
ответ дан Anders Eurenius 27 March 2019 в 12:23
поделиться
Другие вопросы по тегам:

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