Перебор списка python aws

#python #amazon-web-services #boto3

#python #amazon-веб-сервисы #boto3

Вопрос:

Я новичок в python и долго пытаюсь разобраться в этом.

 a ='''arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/**abc**/888888888888888
arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/def/888888888888888
arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/ghi/888888888888888
arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/test/888888888888888'''

print(a)
  

Как выполнить цикл по единственной строке

 'arn:aws:elastic:us-west-:111111111111:loadbalancer/app/**abc**/888888888888888'
  

из списка без указания в коде, даже если его позиция меняется?
Пожалуйста, объясните! Спасибо!

Комментарии:

1. Какая строка? В вашем примере все является строкой?

2. Это должно выводиться каждый раз, даже если позиция меняется — ‘arn: aws: elastic:us-west-:11111111111111:loadbalancer /app/ ** abc ** / 888888888888888’

Ответ №1:

Вы можете разделить строку с помощью метода split

 a ='''arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/**abc**/888888888888888
arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/def/888888888888888
arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/ghi/888888888888888
arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/test/888888888888888'''
for i, split_txt in enumerate(a.split()):
    print(f'{i 1}. string: {split_txt}')
  

Вывод

 1. string: arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/**abc**/888888888888888
2. string: arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/def/888888888888888
3. string: arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/ghi/888888888888888
4. string: arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/test/888888888888888
  

Если вам нужна только первая строка

 a.split()[0]
'arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/**abc**/888888888888888'
  

Если вы хотите найти строку с другим шаблоном

 for i in a.split():
    if '**abc**' in i:
        print(i)
arn:aws:elastic:us-west-1:111111111111:loadbalancer/app/**abc**/888888888888888
  

Ответ №2:

Этот код должен сделать свое дело:

 for line in a.split():
    print(line)
  

И если вы хотите найти строку, которую вы упомянули:

 for line in a.split():
    if line == 'arn:aws:elastic:us-west-:111111111111:loadbalancer/app/**abc**/888888888888888':
        print(line)