我试图比较列表中的每个数字与1以及它后面的1。 例如:我列出了参与者= [“A:1”,“B:6”,“C:5”,“D:4”,“E:7”,“F:3”,“G: 10“,”H:2“] 现在我想比较B:6与A:1和C:5的数量,但我不知道自从A,B和C仍然存在,我需要以保留它们以备后用。试图比较列表中的每个数字与其1以及其后的1列表
0
A
回答
1
您可以使用split
,int
和zip
。 让我们命名列表l
:
for previous, current, next in zip(l[:-2], l[1:-1],l[2:]):
nums = [int(x.split(':')[1]) for x in [previous, current, next]]
# now do your comparison...
+0
谢谢:) 这有助于分配! –
0
使用的collections.OrderedDict
,如果你需要维持秩序,但要适当分开键和值。优点是您有一个适当的键值存储您的值,但您仍然保持添加值的顺序,如list
。
from collections import OrderedDict
participants = ["A:1", "B:6", "C:5", "D:4", "E:7", "F:3", "G:10", "H:2"]
d = OrderedDict()
for p in participants:
letter, number = p.split(':')
d.update({letter:int(number)})
使用d.keys()
可以访问键,使用d.values()
您可以访问值。因此,例如,要打印所有号码前一个的差异,做这样的事情(蟒蛇2码):
from __future__ import print_function # necessary for print() in py2.*
for prev, next in zip(d.keys()[:-1], d.keys()[1:]):
print(next, "-", prev, "=", d[next] - d[prev])
相关问题
- 1. 将列表与其他多个列表进行比较
- 2. 比较其中有列表的两个列表
- 3. 在列表中编辑一个列表以及列表中的其他列表
- 4. C#一个比较字符串列表与其他列表字符串
- 5. 从2个表格中挑选1列并对其进行比较
- 6. Prolog:将其中的1个列表乘以2列表未实例化?
- 7. 在其他列表索引为1的列表中求和值?
- 8. 将列表中的每个元素与所有其他元素进行比较
- 9. 与列表比较列表
- 10. 比较列表项的值在其他列表中的其他项目在Python
- 11. Prolog获取嵌套列表的数量+ 1,其中元素是一个列表
- 12. 删除列表中通过比较其
- 13. 将每个数字加1到后续数字以确定优先级列表
- 14. 将列表中的元素与同一列表中的每个其他元素进行比较
- 15. 从2个表中插入复制表1中1列中的所有行以及表3中1列中的最后一行
- 16. 将子查询中的1个字段与其他字段进行比较?
- 17. 为列表中的每个数据帧转换1列
- 18. 将列表中的元素与其邻居进行比较
- 19. 根据其字段中的1对对象列表排序
- 20. Excel比较表1和2以及不同列的匹配副本数据的列值
- 21. 选择子查询,其中表2是表1中的一列
- 22. 迭代列表并将其值与字典进行比较
- 23. 乘以两个列表,当其他列表中包含的话,以及
- 24. 比较数字及其字符串表示形式
- 25. 如何比较两个集合,其中的每个元素是列表?
- 26. “字段列表”中的未知列'$ 1'
- 27. 比较数组列表与字符串
- 28. 检查字符串的单元格列表,并将其与Excel中的另一个列表进行比较
- 29. 比较两个列表“列表<Category>”,其中类别是我的类
- 30. 的MySQL从表1中,其中表2
Migth值得使用一个'dict'或['collections.OrderedDict '](https://docs.python.org/2/library/collections.html#collections.OrderedDict)如果维护顺序非常重要。 –