Создание и использование двумерного массива
-
21-12-2019 - |
Вопрос
Мне нужно определить 2-мерную переменную массива.
Я смог использовать переменную list, но теперь для проекта, над которым я работаю, требуется массив.
Как это делается?
Как я могу "зациклиться" на 2-мерном массиве?
Решение
Попробуйте использовать список списков.Вы можете использовать Расширенный вариабельный синтаксис для доступа к элементу вВнутренний список.
*** Settings ***
Library Collections
*** Variables ***
@{colors} red green blue
@{animals} cow pig dog
@{things} ${animals} ${colors}
*** Test Cases ***
2-Dimensional List
Log List ${things}
Log The ${things[0][1]} is ${things[1][1]}
.
Длина списка 2 и содержит следующие элементы: 0: [u'cow ', u'pig', u'dog '] 1: [u'red ', u'green', u'blue ']
свинья зеленая
Другие советы
Использование списков
Термин робота для переменной массива - "список".Вы можете использовать @{...}
чтобы обозначить переменную в виде списка.Вот пример, который показывает, как создать список в таблице переменных и как сделать это в рамках теста с использованием Создать список ключевое слово:
*** Variables ***
| # create a list in a variable table
| @{Colors} | red | orange | green | blue
*** Test Cases ***
| Example of using lists
| | # create an array inside a test
| | @{Names}= | Create list | homer | marge | bart
| | # Verify that the elements are arrays
| | Length should be | ${Colors} | 4
| | Length should be | ${Names} | 3
Чтобы создать двумерный список, вы можете создать список списков:
| | ${array}= | Create list | ${Names} | ${Colors}
То расширенный синтаксис переменных позволяет получить доступ к отдельным элементам:
| | log | element 1,1: ${array[1][1]}
Для получения дополнительной информации смотрите раздел, озаглавленный Перечислите переменные в Руководство пользователя Robot Framework
Использование словарей
Вы можете использовать словарь для моделирования многомерного массива.Например:
*** Settings ***
| Library | Collections
*** Test Cases ***
| Example of using a dictionary to simulate a two dimensional array
| | ${array}= | Create dictionary
| | ... | 0,0 | zero, zero
| | ... | 0,1 | zero, one
| | ... | 1,0 | one, zero
| | ... | 1,1 | one, one
| | Should be equal | ${array["1,0"]} | one, zero
Я нашел способ петли через список списков:
*** Settings ***
Library Collections
*** Variables ***
@{colors} red green blue
@{animals} cow pig dog
@{things} ${animals} ${colors}
*** Test Cases ***
Nested for loop example
: FOR ${x} IN @{animals}
\ Keyword with for loop ${x}
*** Keywords ***
Keyword with for loop
[Arguments] ${x}
:FOR ${y} IN @{colors}
\ Log The ${x} is ${y}
.
Кредит идет на oMbre42 .Спасибо!