Можно ли выполнить команду для каждого отдельного элемента списка в порядке их размещения? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть список в Python со случайным количеством элементов.Можно ли выполнить одну и ту же команду для каждого отдельного элемента списка в порядке от 1-го до последнего, чтобы я мог преобразовать выходные данные команды в другой список с другими переменными?

Если это возможно, чем я могу создатькоманда os.system () для Mac OS X, которая снова запускает команду afplay для OS X для каждого отдельного элемента в порядке из нового списка?

1 Ответ

1 голос
/ 09 мая 2019

Ваш первый вопрос звучит как что-то, что вы можете решить с помощью понимания списка https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions

initial_list = [0, 9, 99, 999]


def increment(value):
    """Increment value by one."""
    value += 1
    return value


# This is a list comprehension, it is basically a for-loop
new_list = [increment(list_item) for list_item in initial_list]

print(f'Old list: {initial_list}')
print(f'New list: {new_list}')

Который производит:

Old list: [0, 9, 99, 999]
New list: [1, 10, 100, 1000]

По второму вопросу у меня нет опыта работы с Mac OS X, но, возможно, вы могли бы попробовать что-то подобное? Надеюсь, это поможет вам разобраться!

import os

audio_files = ['/Media/Sound1.wav', '/Media/Sound2.wav', '/Media/Sound3.wav']

play = [os.system(f'afplay {audio_file}') for audio_file in audio_files]

play[0]  # play the first audio file

# play all the files sequentially
for audio_file in play:
    play[audio_file]

РЕДАКТИРОВАТЬ: Теперь, когда я снова прочитал ваш вопрос, я думаю, что вы хотите что-то вроде этого?

import os

audio_files = ['/Media/Sound1.wav', '/Media/Sound2.wav', '/Media/Sound3.wav']

processed_audio_files = [do_something(audio_file) for audio_file in audio_files]

for audio_file in processed_audio_files:
  os.system(f'afplay {audio_file}')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...