我使用Python 3.6.3和visual studio代码
x=[],y=[]'a=[],d+[],i=0
a = ['Al', 'red', '1', '1', 'blue', 'green','', '65', \
'Bill', 'yellow', '1', '2', 'blue', 'red','', '55', \
'Alice', 'pink', '1', '3', 'blue', 'green','', '66', \
'Fred', 'pink', '1', '4', 'orange', 'puce','', '65]
for p in range(1,5):
x=[a[2+i]]
y=[a[3+i]]
d(x,y)=a[0:8] # variables x and y on left of = sign.
i=i+8
print(d('1','2'))
print(d('1','3')[0])
# want to get the following
'Bill', 'yellow', '1', '2', 'blue', 'red','', '55'
'Alice'
我的问题是:在Python中,可以使用变量
=
标志的左侧?什么数据结构或其他什么
会这样做吗?它在BASIC工作。
为什么我要这样做?想象一下,我有1000个团体 而不只是这4个。
当我得到答案时,我如何确认和批准或 无论我需要做什么。我还没找到导游。
答案 0 :(得分:0)
看起来你想使用字典:
a = ['Al', 'red', '1', '1', 'blue', 'green','', '65',
'Bill', 'yellow', '1', '2', 'blue', 'red','', '55',
'Alice', 'pink', '1', '3', 'blue', 'green','', '66',
'Fred', 'pink', '1', '4', 'orange', 'puce','', '65']
step = 8
d = {}
for start in range(0, len(a), step):
end = start + step
part = a[start:end]
d[tuple(part[2:4])] = part
print(d['1','2'])
print(d['1','3'][0])
输出:
['Bill', 'yellow', '1', '2', 'blue', 'red', '', '55']
Alice
这适用于任意数量的群体。
答案 1 :(得分:0)
Mike Muller的回答完美无缺,尽管我搞砸了并且忘了增加保持在1的变量。它适用于我的110个组的大名单,步长值为1435.我无法从一个组移动到下一个。
答案 2 :(得分:0)
我将结束这个问题,说Mike Muller给我的代码和他关于字典的评论让我看到如何在=符号的左侧使用变量。 所以我的问题的答案是肯定的。这是我的结果代码。
step = 1435 # Mike Muller's
d = {}
for start in range(0, len(l), step):
end = start + step
part = l[start:end]
d[tuple(part[2:4])] = part
uu=1
vari = {}
for x in range(1,12):
for y in range(1,15):
if (str(x),str(y)) in d:
vari[uu] = d[str(x),str(y)][50]
print('key ',x,y) # check results
print ('value ',vari[uu]) # check results
uu=uu+1
print('counter ',uu) # check results
print('out of loop check ', vari[87]) # check results
key 1 1
value 121
counter 2
key 1 2
value 124
and so on to the end
counter 87
key 11 6
value 121
counter 88
key 11 7
value 124
counter 89
key 11 8
value 121
counter 90
out of loop check 121