为啥for循环遍历python中的1个项目? [关闭]

Posted

技术标签:

【中文标题】为啥for循环遍历python中的1个项目? [关闭]【英文标题】:Why the for loop is iterating through 1 item in python? [closed]为什么for循环遍历python中的1个项目? [关闭] 【发布时间】:2020-11-24 09:45:08 【问题描述】:

我有 for 循环,其中 URL 列表应该迭代,但是当我运行时,第一个 URL(列表的第一项)会一次又一次地迭代。

这是我的代码的样子

R = []
G = []
B = []
Score = []
URL = []
pixel = []


for image_uri in list_imagefiles[0:2]:
    detect_properties(image_uri)
    for color in dominant_colors.colors:
        
        R.append(color.color.red)
        G.append(color.color.green)
        B.append(color.color.blue)
        Score.append(color.score)
        pixel.append(color.pixel_fraction)
        URL.append(image_uri)
    

df = pd.DataFrame('URL' : image_uri, 'Red':R, 'Green' : G, 'Blue': B,  'Score' : Score,  'Pixel Fraction': pixel)

这就是我的输出的样子......第三和第四行应该是第二个网址

1   www.example1.com    49.0    42.0    39.0    0.198819    0.222889
2   www.example1.com    224.0   183.0   170.0   0.040362    0.061911
3   www.example1.com    49.0    42.0    39.0    0.198819    0.222889
4   www.example1.com    224.0   183.0   170.0   0.040362    0.061911

【问题讨论】:

您现在得到的输出与您想要的输出有何不同? 在df的定义中你想要'URL' : URL而不是'URL' : image_uri 【参考方案1】:

当您创建 DataFrame 时,您添加 image_uri 作为 url 值,但这仅包含您上次循环迭代的值。将其更改为 URL 可能会修复它,因为它似乎是您存储 url 的位置。

df = pd.DataFrame('URL' : URL, 'Red':R, 'Green' : G, 'Blue': B, 'Score' : Score, 'Pixel Fraction': pixel)

【讨论】:

以上是关于为啥for循环遍历python中的1个项目? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Python入门之控制结构 - 循环结构——第2关:for循环与continue语句

Python:为啥这个 for 循环在第一次迭代后退出?

python中为啥我的for循环里嵌套的if只能循环一次?

python为啥for循环只查到一次数据

为啥 Python for 循环在遍历列表副本并进行删除时会跳过元素? [复制]

Python入门之控制结构 - 循环结构——第3关:循环嵌套