簡體   English   中英

在python列表中返回多個數字

[英]Returning more than one number in a python list

n = [3, 5, 7]

def double_list(x):
    for i in range(0, len(x)):
        x[i] = x[i] * 2
        return x[i]

print double_list(n)

由於某種原因,此python腳本在運行時僅返回列表中的第一項,而不是全部三項……有人可以幫我嗎?

請改用列表理解

double_list = [ x*2 for x in n ]

結果相同,縮短四倍,可讀性提高一萬億倍。

因為可讀性很重要

  1. 更改return語句,以使其不縮進for塊的一部分。

  2. 返回列表,而不是列表中的項目。

     def double_list(x): for i in range(0, len(x)): x[i] = x[i] * 2 return x 
n = [3, 5, 7]

def double_list(x):
    t=[i*2 for i in x]
    return t

print (double_list(n))

另一個簡短的方法。

添加到選項:

def double_list(x):
    return map(lambda num: num*2, x)

print double_list([2, 3, 4])
n = [3, 5, 7]

def double_list(x):
    for i in range(0, len(x)):
        x[i]*=2
    return x

print double_list(n)

試試這個。返回列表,還檢查我們如何用算術運算重新定義變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM