- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下代码
lst = ['foo', 'bar', 'baz']
for lst in lst:
print lst
给我这个输出
foo
bar
baz
我期望出现错误或以下输出:
['foo', 'bar', 'baz']
['foo', 'bar', 'baz']
['foo', 'bar', 'baz']
上面的代码是错误的,应该是
lst = ['foo', 'bar', 'baz']
for lst_element in lst:
print lst_element
为什么呢,那个python
虽然产生了预期的输出?
最佳答案
在Python中,当你说
for identifier in iterable:
首先将从可迭代对象创建一个迭代器。因此,实际对象不会在循环中使用。然后迭代器将被迭代,当前值将绑定(bind)到名称标识符。
引用official documentation of for
,
for_stmt ::= "for" target_list "in" expression_list ":" suite
["else" ":" suite]
The expression list is evaluated once; it should yield an iterable object. An iterator is created for the result of the expression_list. The suite is then executed once for each item provided by the iterator, in the order of ascending indices. Each item in turn is assigned to the target list using the standard rules for assignments, and then the suite is executed.
在您的示例中,在最后一次迭代之后,lst
将引用 baz
,而不是列表本身,因为 for
循环具有在最后一次迭代中将名称 lst
绑定(bind)到 baz
。
关于python - 为什么 `for lst in lst:` 有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31003661/
这个问题已经有答案了: Why can I use the same name for iterator and sequence in a Python for loop? (6 个回答) 已关闭
public class VarargsParamVsLocalVariable { static void f(List... stringLists) { // compi
编程新手——我正在寻找我正在做的练习的答案,并从 here 得到了我的答案。 .我的问题是——在那个线程中,被选为最佳答案的是这段代码 [float(i) for i in lst] 代码做了它应该做
我从数据库成分中获取一个列表,然后创建一个新列表 somelist = inredinets。我使用 Convert(somelist) 转换 somelist 的一些值。这正在改变两个列表。有没有办
我正在尝试为我的加密系统安装 MIRACL 库。当我配置库时,它给了我“miracle.lst”,其中包含我需要编译的文件列表。我只是想知道有什么办法可以一次编译 .lst 文件中的所有文件吗?我不认
我最近才了解到 tibble::lst,它创建一个列表对象但自动命名列表项。我将其用作 %>% 工作流中的快捷方式,该工作流将名称用作 map_dfr 中的 .id 参数,因此自动命名真的很有帮助。
编译一些代码后,编译器会生成一堆文件。我有统计数据、符号、调用树、错误、列表、调试和 exe。除了列表文件之外,我已经弄清楚了每个的含义。列表文件的作用是什么。是针对用户还是计算机/嵌入式系统本身?
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
def only_evens(lst): """ Return a list of the lists in lst that contain only even integers.
我正在浏览一些旧代码,试图了解它的作用,我遇到了这个奇怪的声明: *x ,= p p 是此上下文中的列表。我一直在试图弄清楚这句话的作用。据我所知,它只是将 x 设置为 p 的值。例如: p = [1
这个问题在这里已经有了答案: Using '[' square bracket as a function for lapply in R (2 个答案) 关闭 5 年前。 我真的不知道怎么问这个问
使用 masm .lst 运行汇编语言程序时,会生成文件。 这个 .lst 文件的确切内容是什么,为什么这种转换必不可少? 最佳答案 作为另一种恐龙,我认为我们应该将 Hans Passant 的评论
到目前为止,从大多数相关帖子中,我已经了解分配给 List 的 ArrayList 和分配给 ArrayList 的 ArrayList 之间的用法差异 ArrayList arrName =
我发现自己经常使用类似的东西 for i in range(len(lst1)): lst1[i] += lst2[i] 是否有内置的等价于 range(len(.)) 的方法? (顺便说一句,我使用
我正在尝试构建一个函数: 接受长度为 n 的正整数列表作为参数, 返回所有长度为 n 的列表,这些列表由具有以下属性的非负整数组成: 对于列表 lst 它认为对于所有索引 i,lst[i] ≤ upp
问题 我正在尝试使用两个库修剪和压缩视频:Silicompressor和 k4l-video-trimmer .问题是两个库都使用 mp4parser但它的不同版本。k4l-video-trimmer
我编写了一个 NASM 程序,并使用 nasm -f elf -l rs.lst rs.asm 从它创建了一个列表文件。该程序运行完美,接收一个键输入值,然后输出该值是控制键还是可打印键,以及它是数字
这是带有 buildList 方法的类,用于构建 in class Recursive { public static ArrayList reversedList = new ArrayLi
我有一个从 IMDB Interfaces 下载的文件 (ratings.lst)。内容似乎采用以下格式:- Distribution Votes Rating Title 00000
我是 linux 的新手并尝试在我尝试编写的 PHP 脚本中使用 bash 命令,我需要从我正在使用 DirectoryIterator () 迭代的目录中写入每个 PDF 文件名在 PHP 中添加到
我是一名优秀的程序员,十分优秀!