2013-11-21 3 views
0
all_courses=open("E:/we/aa.txt","r").readlines() 
completed_ones=open("E:/we/aaa.txt","r") 
read_completed_ones=completed_ones.readlines() 
my_dict={} 
my_dict["completed courses"]=read_completed_ones 
for line in all_courses: 
    if line.strip().startswith("#"): 
     continue 
    splitted=line.split(",") 
    print read_completed_ones 
    courses_remaining=splitted[2] 
    print read_completed_ones[3] 
    if courses_remaining==("") and splitted[0] != read_completed_ones: 
      1==1 

마지막 if 문에 문제가 있습니다. 해당 문장의 read_completed_ones는 목록이며, 물론 string! = 목록은 항상 true입니다. dict에 read_completed_ones에없는 splitted를 넣으십시오.목록을 비교할 문자열로 변경합니다.

P.S 1 == 1은 내가 쓰는 문장이므로 시도하는 동안 어떤 오류도 발생하지 않습니다. 도움을 주셔서 감사합니다.

+2

사용'pass' 대신'1 ==의 1' –

+1

는 당신이'read_completed_set = 설정 (read_completed_ones 싶은 생각)', 'read_completed_set'에서'splitted [0] '으로 멤버쉽을 테스트하십시오. 여기에 [문서 세트에 대한] (http://docs.python.org/2/library/sets.html) – Cuadue

+0

@ 출력은 동일한 출력을 제공합니다. read_completed_ones 인 경우에도 모든 분할 된 [0]을 인쇄합니다. – Ankosh

답변

0
당신은 다음과 같이 문자열 목록에서 문자열을 만들기 위해 가입 사용할 수 있습니다

:

...splitted[0] != ''.join(read_completed_ones): 
+0

그것은 join이 모든 하나의 전체 문자열을 만든다고 생각하기 때문에 같은 결과를 준다. – Ankosh

관련 문제