首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中,使用二等分返回元组列表中的特定项

在Python中,使用二等分返回元组列表中的特定项
EN

Stack Overflow用户
提问于 2013-07-17 04:56:06
回答 2查看 510关注 0票数 0

我正在编写一个程序,以便快速找到导线大小,这样我就不必一直参考图表,但遇到了一个小问题。

我有一本字典,看起来像这样:

代码语言:javascript
运行
复制
#From Table 310.16 - Article 310 - 
#75 degree rated Copper RHW,THHW,THWN,XHHW,USE,ZW - 2008 NEC
wireAmpacityTable = [
    (25, '#12'),
    (35, '#10'),
    (50, '#8'),
    (65, '#6'),
    (85, '#4'),
    (100, '#3'),
    (115, '#2'),
    (130, '#1'),
    (150, '1/0'),
    (175, '2/0'),
    (200, '3/0'),
    (230, '4/0'),
    (255, '250MCM'),
    (285, '300MCM'),
    (310, '350MCM'),
    (335, '400MCM'),
    (380, '500MCM'),
    (420, '600MCM'),
]

我能够成功地使用二等分函数来获得正确的导线尺寸。

我的问题是如何仅访问导线尺寸值。例如,如果我输入15安培,我希望它只返回导线尺寸- #12。目前它返回(25, '#12')

下面是我用来查找这些值的代码

代码语言:javascript
运行
复制
import bisect
# sort list 
wireAmpacityTable.sort()

def wireLookup(amps):
    pos1 = bisect.bisect_right(wireAmpacityTable, (amps,))
    print "ampacity"
    print wireAmpacityTable[pos1]

amp = int(raw_input("How many Amps:"))
print wireLookup(amp)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-17 05:05:29

目前,wireLookup不返回任何内容。首先,您必须返回一些内容(而不仅仅是打印它),其次,您只需要元组的第二个条目。

代码语言:javascript
运行
复制
return wireAmpacityTable[pos1][1]

顺便说一句,您可能希望根据PEP-8来命名函数和变量。

票数 1
EN

Stack Overflow用户

发布于 2013-07-17 05:09:07

只需索引到元组中,导线的规格在位置1,因此

代码语言:javascript
运行
复制
print wireAmpicity[posl][1]

将只打印出线规。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17686822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档