如何将列表元素拆分后组成嵌套列表,提取扑克牌牌值与花色?
解决方法
你的问题核心很明确——直接append字符串只会得到扁平列表,要把每个牌名包成一个子列表再添加进去。
修正后的代码:
temp_card_list = list(p1cards) card_list1 = [] for i in range(5): print(temp_card_list[i]) # 把单个牌名放在[]里,作为子列表添加 card_list1.append([temp_card_list[i]])
这样得到的card_list1就是你想要的嵌套格式:[['King of Hearts'], ['4 of Clubs'], ['8 of Clubs'], ['Queen of Clubs'], ['9 of Diamonds']]
另外,既然你最终目的是提取每个牌的第一个和第三个词,其实不用特意转嵌套列表也能直接处理,代码会更简洁:
# 直接遍历原列表提取信息 for card in p1cards: parts = card.split() rank = parts[0] # 牌值 suit = parts[2] # 花色 # 这里做后续操作,比如打印或存储 print(f"牌值:{rank},花色:{suit}")
内容的提问来源于stack exchange,提问作者lilsolar
相关产品推荐
相关产品推荐

