簡體   English   中英

列表字符串 python 上的嵌套循環,

[英]Nested loop on list string python ,

我想通過第二個 position 迭代第二個循環

我的錯誤是

發生異常:TypeError(注意:顯示了完整的異常跟蹤,但執行暫停於:)只能將列表(不是“int”)連接到列表

s = "dog cat cat dog"

b = list(s.split(" "))

for x in b:

    for y in str(b+1):

        print(x,'/', y)

修復代碼的一種方法是:

s = "dog cat cat dog"

b = list(s.split(" "))

for x in b:

    for y in b[1:]:

        print(x,'/', y)

即使我認為它沒有做它應該做的事情,因為 output 是:

dog / cat
dog / cat
dog / dog
cat / cat
cat / cat
cat / dog
cat / cat
cat / cat
cat / dog
dog / cat
dog / cat
dog / dog

也許你想要類似的東西

s = "dog cat cat dog"
b = list(s.split(" "))
for x,y in zip(b,b[1:]):
    print(x,'/', y)

Output:

dog / cat
cat / cat
cat / dog

根據您的評論回答

如果您只想遍歷列表兩次,其中第二次循環是列表的其余部分,您可以使用

s = "dog cat cat dog"
b = s.split(" ")

for i in range(len(b)):
    for j in range(i+1, len(b)):
        # i is the first index, j is the indices of the remaining entries
        # So x = b[i], y = b[j]

舊答案

我不確定我是否完全理解你在尋找什么,也許是這樣的?

s = "dog cat cat dog"

b = s.split(" ")

for i in range(len(b)):
    for j in range(i+1, len(b)):
        print(b[i],'/', b[j])

返回

dog / cat
dog / cat
dog / dog
cat / cat
cat / dog
cat / dog

此外,您不需要將對split()的調用強制轉換為列表,因為它已經返回了一個列表。

暫無
暫無

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

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