python-对for循环的结果进行排序时保持值连接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-对for循环的结果进行排序时保持值连接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1900字,纯文字阅读大概需要3分钟。
内容图文
在此代码的某些部分期间,保持与相应值相关联的值时出现问题.我试图只打印出优先级最低的票证代码.我遇到的第一个问题是,当某人未输入优先级时,它默认为“无”.因此,在我将其过滤掉之后,我想将剩余数据放入列表中,然后从该列表中获取最小优先级,并将其连同票证代码一起打印.
数据集如下所示:
ticket ticket code ticket priority
100_400 100_400 ticket description None
100_400 100_400 ticket description 5
100_400 100_400 ticket description 1
100_400 100_400 ticket description 2
100_400 100_400 ticket description 4
100_400 100_400 ticket description 3
所以目前这就是我的代码:
result = set()
for ticket in tickets:
# to get rid of the "None" priorities
if ticket.priority != '<pirority range>':
print ""
else:
#this is where i need help keeping the priority and the ticket.code together
result.add(ticket.priority)
print min(result)
print ticket.code
解决方法:
将整个故障单添加到结果列表中,而不只是优先级,然后实施您自己的min函数.另外,根据您的应用程序的其余部分,是否考虑使用与设置结果不同的结构?
# this computes the minimum priority of a ticket
def ticketMin (list):
min = list[0]
for ticket in list:
if (ticket.priority < min.priority):
min = ticket
return min
# changed set to list
result = list()
for ticket in tickets:
# to get rid of the "None" priorities
if ticket.priority != '<pirority range>':
print ""
else:
#notice the change below
result.append(ticket)
# changed 'min' to 'ticketMin'
minTicket = ticketMin(result)
print minTicket.priority
print minTicket.code
另外,您可以保存几行,并将内置函数与Lambda一起使用,如Oscar在注释中所示:
# changed set to list
result = list()
for ticket in tickets:
# to get rid of the "None" priorities
if ticket.priority != '<pirority range>':
print ""
else:
#notice the change below
result.append(ticket)
# Oscar's solution:
minTicket = min(result, key=lambda val : val.priority)
print minTicket.priority
print minTicket.code
内容总结
以上是互联网集市为您收集整理的python-对for循环的结果进行排序时保持值连接全部内容,希望文章能够帮你解决python-对for循环的结果进行排序时保持值连接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。