鱼C论坛

 找回密码
 立即注册
查看: 2144|回复: 4

[已解决]请大神指点!!!

[复制链接]
发表于 2023-6-6 23:56:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> S = ["Sun", "Suny", "Today", "Funny", "Happy", "Fantastic"]
>>> even = [i for i in S if i[0] == 'S']
>>> even
['Sun', 'Suny']
这样是筛选"S"开头的,如果我还要筛选"F"开头的,实现['Sun', 'Suny', "Funny", "Fantastic"]应该怎么写?请指教,谢谢!
最佳答案
2023-6-6 23:59:49
很好,你想要筛选出以"S"和"F"开头的单词。在Python的列表推导式中,你可以使用逻辑运算符 or 来实现这个需求。以下是修改后的代码:
S = ["Sun", "Suny", "Today", "Funny", "Happy", "Fantastic"]
even = [i for i in S if i[0] == 'S' or i[0] == 'F']
print(even)

运行这段代码后,你将得到的结果是: ['Sun', 'Suny', 'Funny', 'Fantastic'] 。

在这里, i[0] == 'S' or i[0] == 'F' 是一个逻辑表达式,它会检查每个单词的首字母是否为"S"或者"F"。如果满足其中一个条件,这个单词就会被添加到结果列表中。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-6 23:59:49 | 显示全部楼层    本楼为最佳答案   
很好,你想要筛选出以"S"和"F"开头的单词。在Python的列表推导式中,你可以使用逻辑运算符 or 来实现这个需求。以下是修改后的代码:
S = ["Sun", "Suny", "Today", "Funny", "Happy", "Fantastic"]
even = [i for i in S if i[0] == 'S' or i[0] == 'F']
print(even)

运行这段代码后,你将得到的结果是: ['Sun', 'Suny', 'Funny', 'Fantastic'] 。

在这里, i[0] == 'S' or i[0] == 'F' 是一个逻辑表达式,它会检查每个单词的首字母是否为"S"或者"F"。如果满足其中一个条件,这个单词就会被添加到结果列表中。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-7 00:04:10 | 显示全部楼层
isdkz 发表于 2023-6-6 23:59
很好,你想要筛选出以"S"和"F"开头的单词。在Python的列表推导式中,你可以使用逻辑运算符 or 来实现这个需 ...

那为什么我使用and会得到一个空的列表呢
>>> even = [i for i in S if i[0] == 'S' and i[0] == "F"]
>>> even
[]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-7 00:05:47 | 显示全部楼层
暴躁小熊猫 发表于 2023-6-7 00:04
那为什么我使用and会得到一个空的列表呢
>>> even =  == 'S' and i[0] == "F"]
>>> even

这是因为 and 逻辑运算符要求两边的条件都满足才能返回 True 。

在你的代码中, i[0] == 'S' and i[0] == 'F' 这个表达式实际上是在要求每个单词的首字母同时等于"S"和"F",这在逻辑上是不可能的,因为一个字母不可能同时等于"S"和"F"。所以,这个表达式对于所有的单词都会返回 False ,导致结果列表为空。

如果你想要筛选出首字母为"S"或"F"的单词,应该使用 or 运算符,因为 or 只要求其中一个条件满足就能返回 True 。这样,只要单词的首字母是"S"或"F",就会被添加到结果列表中。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-7 00:09:05 | 显示全部楼层
isdkz 发表于 2023-6-7 00:05
这是因为 and 逻辑运算符要求两边的条件都满足才能返回 True 。

在你的代码中, i[0] == 'S' and i[0] ...

明白了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 11:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表