Как получить представление iPhone ' текущая ориентация или последняя ориентация устройства?

В моем приложении изображение появляется, когда пользователь встряхивает устройство. Существуют разные изображения для ландшафтного и портретного режима. Если iPhone имеет ориентацию книжную или альбомную , он работает нормально. Но если это UIDeviceOrientationFaceDown или UIDeviceOrientationFaceUp , изображение должно зависеть от последней использованной ориентации, поскольку вид для этой ориентации по-прежнему отображается. ) и я хочу добавить еще один кортеж к его началу ...

У меня есть следующий кортеж:

my_choices=(
         ('1','first choice'),
         ('2','second choice'),
         ('3','third choice')
)

, и я хочу добавить еще один кортеж к его началу

another_choice = ('0', 'zero choice')

Как я могу это сделать ?

результат будет:

final_choices=(
             ('0', 'zero choice')
             ('1','first choice'),
             ('2','second choice'),
             ('3','third choice')
    )
52
задан famargar 8 August 2017 в 23:03
поделиться

4 ответа

Создайте еще один кортеж из another_choice , затем объедините:

final_choices = (another_choice,) + my_choices

В качестве альтернативы рассмотрите возможность создания my_choices списком кортежей вместо кортежа- кортежи, используя квадратные скобки вместо скобок:

my_choices=[
     ('1','first choice'),
     ('2','second choice'),
     ('3','third choice')
]

Тогда вы можете просто сделать:

my_choices.insert(0, another_choice)
55
ответ дан 7 November 2019 в 09:28
поделиться

Не преобразовывайте в список и обратно, это ненужные накладные расходы. + объединяет кортежи.

>>> foo = ((1,),(2,),(3,))
>>> foo = ((0,),) + foo
>>> foo
((0,), (1,), (2,), (3,))
17
ответ дан 7 November 2019 в 09:28
поделиться

В качестве альтернативы можно использовать конкатенацию кортежей

т.е.


final_choices = (another_choice,) + my_choices
4
ответ дан 7 November 2019 в 09:28
поделиться

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

>>> my_choices=[
...          ('1','first choice'),
...          ('2','second choice'),
...          ('3','third choice')
... ]
>>> my_choices.insert(0,(0,"another choice"))
>>> my_choices
[(0, 'another choice'), ('1', 'first choice'), ('2', 'second choice'), ('3', 'third choice')]

list.insert (ind, obj) вставляет объект obj по указанному индексу в списке ... позволяя вам поместить любой произвольный объект в любую позицию в списке.

1
ответ дан 7 November 2019 в 09:28
поделиться
Другие вопросы по тегам:

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