Python列表和循环/更改元素

时间:2016-04-01 23:19:38

标签: python list while-loop

我创建了一个while循环(下面),它访问列表的每个元素并打印其正方形。现在,我将如何更改此程序,以便它取代每个元素的正方形。例如:如果x = [2,4,2,6,8,10],那么x将改为x = [4,16,4,36,4,64,100]

    print("Enter any into the list: ")
    x = eval(input())
    n=0
    while n < len(x):
        print("The square of", x[n], "is", x[n]**2)
        n += 1

3 个答案:

答案 0 :(得分:0)

您可以在while循环中设置它:

print("Enter any into the list: ")
x = eval(input())
n=0
while n < len(x):
    print("The square of", x[n], "is", x[n]**2)
    x[n] = x[n] ** 2
    n += 1

但使用eval()并不是一个好主意。您应该使用ast.literal_eval()

import ast

print("Enter any into the list: ")
x = ast.literal_eval(input())
...

答案 1 :(得分:0)

你几乎会做同样的事情,除了for循环:

for i in range(0, len(x)):   # x must be a list
    x[i] **= 2   

您也可以在while循环中设置它:

print("Enter any into the list: ")
x = eval(input())
n=0
while n < len(x):
    print("The square of", x[n], "is", x[n]**2)
    x[n] **= 2
    n += 1

答案 2 :(得分:0)

x = [n**2 for n in x]

列表理解是你的朋友。