我正在尝试将列表中的某些元素与其右邻元素组合起来具有特定的价值。
(在这种情况下,特定值为负号)。
说我有以下列表:
x = ['0', '0', '8', '-', '6', '4', '0', '5', '1', '2', '1', '2', '-', '5']
该如何处理列表,使其看起来像这样?:
x = ['0', '0', '8', '-6', '4', '0', '5', '1', '2', '1', '2', '-5']
我基本上需要将元素“-”的每个实例与下一个元素配对(其索引是负号索引的+1)。 抱歉,如果这很模糊,我对python还是很陌生,因此可能缺少我的术语。
答案 0 :(得分:1)
spring.data.mongodb.host=192.168.99.100
在上面的代码中,标记019-03-06 06:15:06.096 INFO 4664 --- [ main] org.mongodb.driver.cluster : Cluster created with settings {hosts=[192.168.99.100:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
2019-03-06 06:15:06.096 INFO 4664 --- [ main] org.mongodb.driver.cluster : Adding discovered server 192.168.99.100:27017 to client view of cluster
2019-03-06 06:15:06.356 WARN 4664 --- [ main] o.s.d.m.c.m.BasicMongoPersistentProperty : Customizing field name for id property not allowed! Custom name will not be considered!
2019-03-06 06:15:06.928 INFO 4664 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-03-06 06:15:07.164 INFO 4664 --- [68.99.100:27017] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server 192.168.99.100:27017
指示上一项是否为负号(“ True”为负号)。然后,使用以下规则填充x中的元素来填充neg = False
out = []
for i in x:
if i == '-':
neg = True
else:
if neg:
out += ['-' + i]
neg = False
else:
out += [i]
In [18]: out
Out[18]: ['0', '0', '8', '-6', '4', '0', '5', '1', '2', '1', '2', '-5']
列表:如果您拥有neg
,则将标志设置为out
,但不执行任何操作。然后,如果元素不是-
并且True
是-
,则附加元素的负数并将标志设置为neg
,但是如果标志是True
只需附加元素即可。
答案 1 :(得分:0)
尝试一下:
x = ['0', '0', '8', '-', '6', '4', '0', '5', '1', '2', '1', '2', '-', '5']
for i in range(len(x)):
if x[i] == '-':
x[i+1] = x[i] + x[i+1]
y = [i for i in x if i != '-']
print(y)
它合并元素,然后从列表中删除所有减号'-'
。