나는 목록 이해 (list comprehension)를 사용하여 PyTable 내의 특정 데이터 세트를 찾는다. 그러나 argparser에서 인수를 결합하려고 시도하면 아무 값도 반환하지 않습니다.목록 이해와 함께 argparse를 사용할 때의 문제
if args.Scount:
print args.Scount, args.Scount[0], args.Scount[1]
print
print [row['GRBname'] for row in table.iterrows() if args.Scount[0] <= row['SCounts'] <= args.Scount[1]]
print
print [row['GRBname'] for row in table.iterrows() if 0 <= row['SCounts'] <= 10]
args.Scount
출처 :
첫 번째 줄 인쇄 :
이parser.add_argument("--Scount", nargs=2, help="Used to display GRBs within the specified spectral count range")
그래서 예를 들어 내가 --Scount 0과 10을 주면 여기
코드의 섹션['0', '10'] 0 10
(이것은 args에 값이 있는지 확인하는 테스트 일뿐입니다)
두 번째 줄 인쇄 []
세 번째 줄은 row['Scount']
조건에서 선택한 row['GRBname']
을 포함하는 목록을 인쇄합니다.
표준 루프 구조로 다시 전환하면 pytable, argparse 및 list comprehension 문서를 검색해도이 특정 문제에 도움이되지 않지만 동일한 결과가 나타납니다.
구체적으로 궁금한 점은 무엇입니까? 당신은 당신의 관찰을 고무 시켰지만 무엇을 알고 싶습니까? –
table.iterrows()는 반복자처럼 보이지만 두 번째 호출에서 소모 될 수 있습니까? –