【发布时间】:2021-03-05 23:31:16
【问题描述】:
这是我的解释:
myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
我想在列表中搜索单词的长度。这样我就可以得到 len 中 4 的单词。
【问题讨论】:
这是我的解释:
myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
我想在列表中搜索单词的长度。这样我就可以得到 len 中 4 的单词。
【问题讨论】:
直观地说,您有两个选择。过滤或简单的列表推导。
myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
list(filter(lambda x: len(x) == 4, myList))
# or
[x for x in myList if len(x) == 4]
【讨论】:
使用列表推导:
print([x for x in myList if len(x) == 4])
【讨论】:
您可以创建一个新列表,仅过滤带有len(element) == 4 的元素
myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
new_list = [x for x in myList if len(x) == 4]
print(new_list)
>>> ['Kazi']
【讨论】:
myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
res = list(filter(lambda x: len(x) == 4, myList))
print(res) # ['Kazi']
【讨论】:
str_list = ["these", "are", "some", "random", "strings"]
for my_str in str_list:
if len(my_str) == 3:
print(my_str)
这将打印出列表中每 3 个字母的单词。您可以将这些附加到新列表,然后也打印新列表。由你决定。
【讨论】:
str,if 子句中不需要额外的括号,当列表推导是等效的替代方案时,大多数情况下不鼓励使用 for 循环。