我目前正在使用平铺地图为pygame中的游戏制作地图编辑器.该级别由以下结构中的块构建(尽管更大):
level1 = (
(1,1,1,1,1,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,1,1,1,1,1))
Run Code Online (Sandbox Code Playgroud)
其中"1"是一个墙,而"0"是一个空的空间.
以下代码基本上是处理块类型更改的代码:
clicked = pygame.mouse.get_pressed()
if clicked[0] == 1:
currLevel[((mousey+cameraY)/60)][((mousex+cameraX)/60)] = 1
Run Code Online (Sandbox Code Playgroud)
但由于级别存储在元组中,我无法更改不同块的值.如何以简单的方式更改关卡中的不同值?
我想用BOOST FOREACH复制以下内容
std::vector<int>::const_iterator i1;
std::vector<int>::const_iterator i2;
for( i1 = v1.begin(), i2 = v2.begin();
i1 < v1.end() && i2 < v2.end();
++i1, ++i2 )
{
doSomething( *i1, *i2 );
}
Run Code Online (Sandbox Code Playgroud) 我想添加codes到dataframe dictionary.
codes = [['01', '02', '03', '05', '06', '08', '10', '11', '13', '15', '17', '19', '21', '23', '25', '27', '29', '31', '33', '35', '37', '39', '43', '45', '4.55', '48', '52']
#27Codes
df = pd.read_excel(sales,sheet_name=None,ignore_index = True, skiprows=7)
#27 Sheets
for i in codes:
for key in df.keys():
df['Sheet1']['Code'] = i
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么我似乎i在每个数据帧中都有.我想我理解为什么我无法弄清楚如何纠正它.
我是编码的新手,我根本无法找到解决方案.
预期产量:
df['Sheet1']
Date Particulars Inwards Code
1 2017-04-01 EFG 12800 01
2 2017-07-22 ABC 100 01
3 2017-09-05 BCD 10000 01 …Run Code Online (Sandbox Code Playgroud) 我有2个清单
Numberset1 = [10,11,12]
Numberset2 = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
我想通过操纵列表来显示输出,预期的输出是
10 1
10 2
10 3
10 4
10 5
11 2
11 3
11 4
11 5
11 1
12 3
12 4
12 5
12 1
12 2
Run Code Online (Sandbox Code Playgroud)
由于第一个列表中的第二个数字应该从第二个列表中的第二个数字开始,我尝试枚举它并创建另一个列表
test=[j for i, o in enumerate(Numberset2) for j in Numberset2[i:] + Numberset2[:i] ]
Run Code Online (Sandbox Code Playgroud)
我试过的代码如下
Numberset1 = [10,11,12]
Numberset2 = [1,2,3,4,5]
test=[j for i, o in enumerate(Numberset2) for j in Numberset2[i:] + Numberset2[:i] ]
for D in Numberset1:
for j in test: …Run Code Online (Sandbox Code Playgroud) 我试图找到一种使用函数样式将元组附加到嵌套列表的好方法.我想要替换的代码是:
a = [[], []]
point = [(10, 12), (11, 13), (14, 15)]
for item in point:
a[0].append(item[0])
a[1].append(item[1])
>>> [[10, 11, 14], [12, 13, 15]]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经想出了这个,但似乎我已经过度复杂了,并且想知道是否有更好的方法:
from functools import partial
map(partial(lambda a, b, c: (a.append(c[0]), b.append(c[1])), a[0], a[1]), point)
print a
>>> [[10, 11, 14], [12, 13, 15]]
Run Code Online (Sandbox Code Playgroud) 假设,我有两个列表:
[a, b] and [c,d]
Run Code Online (Sandbox Code Playgroud)
如何在 Python 中获得以下数组作为结果?
[a, c]
[b, d]
Run Code Online (Sandbox Code Playgroud) python ×5
list ×3
boost ×1
c++ ×1
dataframe ×1
dictionary ×1
iterator ×1
pandas ×1
python-3.x ×1
tuples ×1