如何“转换”从一个列表理解与两者:forin&ifin。。。带循环和条件的“普通”python3代码

2024-09-29 19:20:29 发布

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

请不要关闭这个,因为我是py3的新手。 帮助我从列表理解中“转换”两个方面:for in&;如果在。。。使用循环执行“普通”python3代码;条件:

为什么这么麻烦?因为坦率地说,它将帮助我理解这两个概念,因为我刚刚开始与py3,它使我焦虑。。。非常糟糕

# here is the original code that needs conversion...
friends = ["Wolf", "Frootie", "charlean", "Jenny"]
guests = ["xavier", "Bobbie", "wolf", "Charlean", "ashley"]

friends_lcase = [f.lower() for f in friends]
#guests_lcase = [g.lower() for g in guests]

present_friends = [
  name.title() for name in guests if name.lower() in friends_lcase
]
print(present_friends)



# here below should be the equivalent of
# the above code, which is the issue for me...
# i tried the next but failed, help:

present_friends_2 = []
for i in friends:
    if i.lower() in guests:
      present_friends_2.append(i)
    else:
      present_friends_2.append(0)

print(present_friends_2)

Tags: thenameinforifhereispy3
2条回答

尼廷·瓦尔盖塞的回答几乎是正确的

friends = ["Wolf", "Frootie", "charlean", "Jenny"]
guests = ["xavier", "Bobbie", "wolf", "Charlean", "ashley"]

#friends_lcase = [f.lower() for f in friends]
friends_lcase = []
for f in friends:
    friends_lcase.append(f.lower()) < - Change

# present_friends = [
#   name.title() for name in guests if name.lower() in friends_lcase
# ]

present_friends = []
for name in guests:
    if name.lower() in friends_lcase:
        present_friends.append(name.title())


print(present_friends)

Wolf没有被捕获,因为它在被添加到friends_lcase之前没有被转换成小写

请慢慢来看看python之类的好书 在这里提问之前,请先深入了解Python 3

friends = ["Wolf", "Frootie", "charlean", "Jenny"]
guests = ["xavier", "Bobbie", "wolf", "Charlean", "ashley"]

#friends_lcase = [f.lower() for f in friends]
friends_lcase = []
for f in friends:
    friends_lcase.append(f.lower())

# present_friends = [
#   name.title() for name in guests if name.lower() in friends_lcase
# ]

present_friends = []
for name in guests:
    if name.lower() in friends_lcase:
        present_friends.append(name.title())


print(present_friends)

祝Python好运

相关问题 更多 >

    热门问题