簡體   English   中英

Python中“逐字逐句”和“字符換字符”的區別

[英]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語句中被引用。

charword在此上下文中不是特殊命令 - 它們只是以描述它們的方式命名的變量。

這與在循環中聲明的變量相同:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM