让用户决定应用于数字列表的操作

7st*_*tud 0 python

我最近选择了Python,并想知道如何做到以下几点.假设我们有3个数字的列表:

x = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

然后,我们询问用户如何处理这些数字:

whatdo = raw_input('> ')
Run Code Online (Sandbox Code Playgroud)

例如,用户输入"+2".现在如何将"+ 2"应用于列表的所有元素?

7st*_*tud 6

import operator as oper

operations = {
    '+': oper.add,
    '-': oper.sub,
    '*': oper.mul
}

numbers = [1, 2, 3]

op, num1 = raw_input("> ").split()
num1 = int(num1)
op = operations[op]

y = [op(num1, num2) for num2 in numbers]
print y

--output:--
> * 30
[30, 60, 90]
Run Code Online (Sandbox Code Playgroud)