簡體   English   中英

如何在python中正確使用兩個循環

[英]How to use two loop correctly in python

大家好,我有問題

這是我的代碼:

services = {
    'first':[],
    'second':[]
}

x = [1,2,3,4,5]
for i in services:
    print('loop-one -  ',i)
    for i in x:
        services['first'].append(i)

print(services)

這段代碼的輸出是{'first': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5], 'second': []}如果你注意到他加了兩次。

我的目的是這樣的,我想添加一次{'first': [1, 2, 3, 4, 5], 'second': []}

謝謝 !

內部for循環使用與外部循環相同的循環變量i 這意味着i的值被內部循環的每次迭代覆蓋,並且i的最終值用於更新服務字典。

以下是如何編寫代碼以正確迭代兩個索引:

services = {
    'first':[],
    'second':[]
}

x = [1,2,3,4,5]
for service in services:
    print('loop-one - ', service)
    for i in x:
        services[service].append(i)

print(services)

您的問題似乎是在您的外循環中您正在遍歷services字典。 services字典包含兩個鍵值對,然后您可以迭代第一個鍵值對並將結果附加到“第一個”列表鍵值對。 請問如果您想要的輸出是{'first': [1, 2, 3, 4, 5], 'second': []}?

使用單個 for 循環的更簡單方法是這樣的,您可以在此處找到有關擴展方法的文檔https://docs.python.org/3/tutorial/datastructures.html

for service in services:
    services[service].extend(x)

要求有2個循環嗎? 我只是想知道。

如果是這樣,您可以嘗試以下語法:

for service in services:
    print('loop-one -  ',service)
    for num in x:
        services[service].append(num)

print(services)

我假設您正在嘗試從x數組/列表中寫入數據,然后將其附加到第一個和第二個列表。 我希望這有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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