我正在尝试返回具有特定长度的单词。
这是我到目前为止的代码。
words
是一个列表,size
是一个正整数。
def by_size(words, size)
for word in words:
if len(word) == size:
我不知道如何继续。
by_size(['a', 'bb', 'ccc', 'dd'], 2)
应返回 ['bb', 'dd']
。任何建议都会有很大帮助。
我会使用列表理解:
def by_size(words, size):
return [word for word in words if len(word) == size]
return filter(lambda x: len(x)==size, words)
有关该函数的更多信息,请参阅filter()
你的意思是这个吗:
In [1]: words = ['a', 'bb', 'ccc', 'dd']
In [2]: result = [item for item in words if len(item)==2]
In [3]: result
Out[3]: ['bb', 'dd']
def by_size(words,size):
result = []
for word in words:
if len(word)==size:
result.append(word)
return result
现在调用如下函数
desired_result = by_size(['a','bb','ccc','dd'],2)
其中
desired_result
将是 ['bb', 'dd']
假设您想稍后使用它们,那么将它们作为列表返回是一个好主意。或者只是将它们打印到终端。这实际上取决于您的目标。您可以直接转到 list (或任何变量名称)。在 if 语句中附加即可执行此操作。
big_watchlist = ['WIPRO', 'ICICIBANK', 'AXISBANK', 'SBIN', 'HDFCBANK', 'LT', 'GAIL', 'SHREECEM', 'ONGC', 'HEROMOTOCO', 'COALINDIA', 'INFY', 'BPCL', 'IOC', 'INDUSINDBK','HCLTECH','HDFC', 'BAJAJFINSV', 'NTPC', 'ITC', 'EICHERMOT', 'KOTAKBANK', 'BHARTIARTL','TITAN', 'RELIANCE', 'BAJFINANCE', 'POWERGRID', 'M&M', 'MARUTI', 'BAJAJ-AUTO', 'JSWSTEEL','TECHM', 'TCS', 'TATASTEEL', 'DRREDDY', 'ADANIPORTS', 'HINDUNILVR', 'CIPLA', 'ULTRACEMCO','DIVISLAB', 'BRITANNIA', 'HDFCLIFE', 'TATAMOTORS', 'NESTLEIND', 'ASIANPAINT', 'SBILIFE','SUNPHARMA', 'UPL', 'HINDALCO', 'GRASIM']
仅打印长度3