簡體   English   中英

將兩個列表與嵌套的for循環串聯在一起

[英]Concatenate two lists with nested for loops in Python

我想創建一串紙牌的字符串元素。

我創建了兩個字符串列表(1-Ace和suites)。 我想使用嵌套的for循環來做到這一點,並在兩者之間添加一個單詞(“ of”)。 在打印所有內容時,我可以快速輕松地做到這一點,但是當我追加到另一個列表(卡片組)時,遇到了創建所需的字符串變量的問題。

編輯:我收到以下錯誤:“選項卡和縮進的使用不一致”。
我當前使用的是notepad ++,但是使用IDLE時,我遇到了同樣的錯誤。

nums = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"]
suite = ["Diamonds", "Hearts", "Clubs", "Spades"]
deck = []

for element in nums:
    for suit in suite:
        card = "%s of %s" % (element, suit)
        deck.append(card)
        print (deck)

我的目標是要有一個與此類似的字符串列表... [“ 1心”,“黑桃A”] ...

謝謝!

該錯誤表明制表符和空格的混合不正確。 大多數文本編輯器都提供“用空格替換制表符”或類似選項。 或者,如果您打算使用Python,我強烈建議您使用嚴肅的IDE,例如PyCharm (我的最愛)或Eclipse / PyDev

除此之外,您發布的代碼沒有任何問題。 如果您想簡化任務(並且完全避免縮進),則itertools.product是您的朋友:

from itertools import product

deck = [' of '.join(p) for p in product(nums, suite)]

甚至在map的幫助下更短:

deck = map(' of '.join, product(nums, suite))

暫無
暫無

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

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