打印通过函数筛选的列表中的项目

2024-05-09 02:01:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了一张名单:

names=['Liam','Noah',3,'Oliver',10.5,'William','Elijah',"33",'James',True,'Benjamin','Lucas',"22.0",'Mason','Ethan', 'Olivia', False, 'Emma', 'Ava', 'Sophia', 'Isabella', None, 'Charlotte', 'Amelia', 'Mia', 'Harper', 'Evelyn']

然后,对于列表“name”中的每个元素,我必须测试它们是否为真字符串并打印:欢迎来到这个世界“name”

我输入这个代码并得到这些results

但我不知道如何在没有“无”显示的情况下打印此列表。请帮忙


Tags: nametrue列表nameswilliamliam名单james
2条回答
names=['Liam','Noah',3,'Oliver',10.5,'William','Elijah',"33",'James',True,'Benjamin','Lucas',"22.0",'Mason','Ethan', 'Olivia', False, 'Emma', 'Ava', 'Sophia', 'Isabella', None, 'Charlotte', 'Amelia', 'Mia', 'Harper', 'Evelyn']
def string_sort(x):
    try:
      a = float(x)
      return a
    except:
      return(f"welcome to this world {x.upper()}!")


for name in names:
  if type(name) == str:
    if type(string_sort(name)) == float:
      continue
    print(string_sort(name))
  else:
    continue

您可以为函数提供整个列表,并将生成的f字符串存储在另一个列表中,然后返回:

def string_sort(lst):
    result = []
    for item in lst:
        if type(item) == str:
            try:
                float(item)
                continue
            except ValueError:
                result.append(f"Welcome to this world {item.upper()}!")
    return result

for x in string_sort(names):
    print(x)

相关问题 更多 >

    热门问题