[英]Difference between "word for word" and "char for char" in Python
對於我已拆分為words
名為txt
的句子,我正在嘗試將 4 個以上字符的單詞過濾到一個列表中。
char for char in words if len(char) >= 4
以及word for word in words if len(word) >= 4
,我已經嘗試了char for char in words if len(char) >= 4
,它們給出了相同的輸出。 它們之間有什么區別? 我應該使用哪一種?
他們給你相同的輸出,因為你實際上是在要求 python 做同樣的事情。 嘗試做:
foo for foo in words if len(foo) >= 4
在這種情況下, foo
只是變量的名稱 - 在列表理解中它“成為” words
列表中的每個單詞。 該變量也在if
語句中被引用。
char
和word
在此上下文中不是特殊命令 - 它們只是以描述它們的方式命名的變量。
這與在循環中聲明的變量相同:
for word in words:
print(word)
或者:
for foo in words:
print(foo)
做同樣的事情 - 可以說第一個更好,因為變量word
的名稱有助於為閱讀代碼的人提供上下文。
在這種情況下,'char' 和 'word' 只是變量名。 在任一示例中,所有代碼都表示您想要迭代一個名為“words”的列表,並且您想要將當前項目引用為“word”/“char”。 兩者都可以接受,但您應該閱讀列表理解以了解更多信息。
https://www.pythonforbeginners.com/basics/list-comprehensions-in-python
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.