[英]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.