如何在 python 中创建列表?
How to create a list in python?
我想在 python 中创建一个名为“p_spaces”的列表,其中包含 20 个元素。每个元素都有一个 id 和两个其他属性。第一个属性是“初始状态”,将以 1/2 的概率为“空闲”或“占用”,第二个属性将是状态,最初为空。
我想动态创建它。例如“for i in range(19)”
有人可以帮助我吗?
您可以使用字典列表:
p_spaces = [ {"id": 0, "initial_state": "free", "state": None} ...]
附带说明一下,如果 initial_state
是二元选择,您不妨使用 0/1 或 True/False。
您可以动态创建它:
for i in range(20):
p_spaces.append({"id":i,
"intial_state": "free", #or occupied
"state" : None})
要编辑任何元素:
p_spaces[item_number][attribute_name] = new_value
我没有足够的代表发表评论,但这是你的意思吗?
class Something:
def __init__(self, id=0, initial_state = "free", state="empty"):
self.id = id
self.initial_state = initial_state
self.state = state
def SetState(self, state):
self.state = state
def SetId(self, id):
self.id = id
def GetId(self):
return self.id
def GetState(self):
return self.state
def GetInitialState(self):
return self.initial_state
def PrintList(lst):
for i in range(0, len(lst)):
print(lst[i].GetId(), lst[i].GetInitialState(), lst[i].GetState())
n = 20
p_spaces = [None]*n
for i in range(0, n):
sth_var = Something()
p_spaces[i] = sth_var
PrintList(p_spaces)
initial_state = ['free', 'occupied']
state = ''
p_spaces = []
for i in range(20):
p_spaces.append({i: [initial_state[i % 2], state]})
print(p_spaces)
我想在 python 中创建一个名为“p_spaces”的列表,其中包含 20 个元素。每个元素都有一个 id 和两个其他属性。第一个属性是“初始状态”,将以 1/2 的概率为“空闲”或“占用”,第二个属性将是状态,最初为空。
我想动态创建它。例如“for i in range(19)”
有人可以帮助我吗?
您可以使用字典列表:
p_spaces = [ {"id": 0, "initial_state": "free", "state": None} ...]
附带说明一下,如果 initial_state
是二元选择,您不妨使用 0/1 或 True/False。
您可以动态创建它:
for i in range(20):
p_spaces.append({"id":i,
"intial_state": "free", #or occupied
"state" : None})
要编辑任何元素:
p_spaces[item_number][attribute_name] = new_value
我没有足够的代表发表评论,但这是你的意思吗?
class Something:
def __init__(self, id=0, initial_state = "free", state="empty"):
self.id = id
self.initial_state = initial_state
self.state = state
def SetState(self, state):
self.state = state
def SetId(self, id):
self.id = id
def GetId(self):
return self.id
def GetState(self):
return self.state
def GetInitialState(self):
return self.initial_state
def PrintList(lst):
for i in range(0, len(lst)):
print(lst[i].GetId(), lst[i].GetInitialState(), lst[i].GetState())
n = 20
p_spaces = [None]*n
for i in range(0, n):
sth_var = Something()
p_spaces[i] = sth_var
PrintList(p_spaces)
initial_state = ['free', 'occupied']
state = ''
p_spaces = []
for i in range(20):
p_spaces.append({i: [initial_state[i % 2], state]})
print(p_spaces)