gpt4 book ai didi

python - 理解 Python 列表理解的问题

转载 作者:太空狗 更新时间:2023-10-29 21:12:41 26 4
gpt4 key购买 nike

下面代码中最后一行是什么意思?

import pickle, urllib                                                                                                                                                     

handle = urllib.urlopen("http://www.pythonchallenge.com/pc/def/banner.p")
data = pickle.load(handle)
handle.close()

for elt in data:
print "".join([e[1] * e[0] for e in elt])

我对问题的尝试:

  • "".join... 使用 join 方法清空文本
  • e[1] * e[0] 将序列中的两个后续值相乘,e
  • 我不确定什么是e
  • 我不确定这意味着什么,当你在 for 循环之前有一些东西时,比如:e[1] * e[0] for e in elt

最佳答案

最好用一个例子来解释:

print "".join([e[1] * e[0] for e in elt])

的缩写形式
x = []
for e in elt:
x.append(e[1] * e[0])
print "".join(x)

列表理解只是 for 循环的语法糖,它从一系列语句中生成一个表达式。

elt 可以是任意对象,因为您是从 pickles 加载它的,e 也是如此。用法表明它是 sequence类型,但它可以是任何实现序列协议(protocol)的东西。

关于python - 理解 Python 列表理解的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/501308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com