gpt4 book ai didi

python - 动态生成具有唯一名称的字典条目

转载 作者:行者123 更新时间:2023-11-30 22:06:55 25 4
gpt4 key购买 nike

我正在尝试动态生成单元格。每个单元格都有一个名称,定义为字典的键。该值是一个类的实例,包含三个参数(力量、智力、能量)。

import random

class Cell:
def __init__(self, energy, strength, intelligence):
self.energy = energy
self.strength = strength
self.intelligence = intelligence
cells = {}
k = 1
while k < 100:
key = "a" + str(k)
print("Generating cell: " + key)
cells[key] = Cell(random.randint(1, 100),random.randint(1, 100),random.randint(1, 100))
k += 1 #Generate cells

我的问题是名字。这段代码对于第一代单元来说已经足够好了,但是当我需要制作更多单元时,由于名称冲突,新单元可以覆盖旧单元。

有没有办法生成随机但唯一的单元格名称来避免此类冲突?我尝试创建以“a”开头的新名称以及尚不存在的最小数字。然而,在我的程序中,细胞会死亡。我的方法只是填补空白,这将很难确定细胞来自哪一代。

最佳答案

你可以使用 python 的 uuid图书馆。

简单示例(断章取义):

import uuid as uuidlib

uuid = str(uuidlib.uuid4())
<小时/>

就您而言:

import uuid
import random

class Cell:
def __init__(self, energy, strength, intelligence):
self.energy = energy
self.strength = strength
self.intelligence = intelligence

cells = {}
k = 1
while k < 100:
key = str(uuid.uuid4())
print("Generating cell: " + key)
cells[key] = Cell(random.randint(1, 100),random.randint(1, 100),random.randint(1, 100))
k += 1 #Generate cells

关于python - 动态生成具有唯一名称的字典条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52579847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com