python - Python:如何将项目(?弹出)从一个列表移动到第二个列表,最初是空白列表
问题描述
首先,这是一个学习 Python 编码的自我改进练习,因此我可以进入某种程度的测试自动化。创建 GO FISH 游戏。我有一副新牌,我洗了牌。
洗牌后的 Freshdeck 为:['6D', '9S', 'AS', '2D', 'QH', 'JD', '7D', '6C', '7S', '4D', 'JS' 、'9D'、'8S'、'9C'、'AD'、'2C'、'8D'、'QC'、'KC'、'10D'、'QD'、'KD'、'JC'、' 7C'、'QS'、'KS'、'10S'、'KH'、'AC'、'3H'、'3D'、'10C'、'8H'、'5C'、'2H'、'4C' , '6H', '10H', '8C', 'JH', '2S', '4S', '3C', '6S', '4H', '5S', '9H', '5D', ' 7H'、'3S'、'AH'、'5H']
我想向每个玩家分发 7 张牌,所以我需要从所述列表中弹出最后一张牌并将其移动到每个玩家的新列表中。(阅读其他地方建议使用字典来保存玩家手牌列表)。这不是基本问题。无论如何尝试使用附加,我似乎都无法将最后一个值存储在新的(最初是第一次迭代时的空白列表)中。弹出一个值就可以了。我的洗牌后的牌组每次执行都会缩小尺寸,但我失去了空间的最后一个价值。
def create_hand(PN,shuffled_deck):
print("Create Hand Function")
print("Creating Hand of Cards for Player: ",PN)
print("Length of Shuffled Pre-Shuffled Deck is: ",len(shuffled_deck))
print("Pre-Shuffled Freshdeck is:",shuffled_deck)
random.shuffle(shuffled_deck)
print("Post-Shuffled Freshdeck is:",shuffled_deck)
for i in range(1,7,1):
print(f"The {i}th card number will be popped to Player Hand {PN}")
temp=[]
print("Printing Temp ",temp)
print(shuffled_deck)
temp.append(print(shuffled_deck[-1]))
shuffled_deck.pop(-1)
解决方案
pop
返回弹出的对象。
所以你需要做的就是temp.append(shuffled_deck.pop(-1))
这样,您将弹出对象并立即将其附加到 temp。
如果您还想打印它,您可以在弹出之前这样做:
print(shuffled_deck[-1])
temp.append(shuffled_deck.pop(-1))
推荐阅读
- java - Java StringTemplate boolean parameter
- php - 在 if 语句之间切换
- python - 创建模块,然后导入该模块
- c# - 如何使这个输出文件从数据网格视图到.xls文件的读写模式?目前它产生只读文件
- git - 我可以使用 pip 从私有 VSTS 存储库安装包吗?
- php - 如何使用 IFTTT 向公共 PHP url 发出 Web 请求
- android - 执行 getprop ro.build.version.release 等大多数命令时,ADB 不断崩溃
- javascript - 单击重新加载图标或单击 F5?重定向到另一个页面
- c - 指针运算出错
- java - RecyclerView 中的数据没有从 Fragment 传递到 Adapter