( 'abc')의 'a'가 True이고 [ 'abc']의 'a'가 False 인 이유는 무엇입니까?
인터프리터를 사용할 때 표현식 'a' in ('abc')
은 True를 'a' in ['abc']
반환하고 False 를 반환합니다. 누군가이 행동을 설명 할 수 있습니까?
('abc')
와 동일합니다 'abc'
. 'abc'
하위 문자열을 포함 'a'
하므로 'a' in 'abc' == True
.
대신 튜플을 원하면 ('abc', )
.
['abc']
목록입니다 (단일 요소 인 문자열 포함 'abc'
). 'a'
이 목록의 구성원이 아니므로'a' in ['abc'] == False
('abc')
튜플이 아닙니다. 나는 당신이 그것을 tuple과 혼동했다고 생각합니다 ('abc',)
.
실제로는와 ('abc')
동일 'abc'
합니다 array of characters
. a
문자가 있는 위치 이므로 첫 번째 조회는 True
다음을 반환합니다 .
>>> 'a' in 'abc'
True
반면 ['abc']
에은 문자열 목록 또는 문자 목록 (문자 의 2 차원 행렬로 생각할 수 있음 [['a', 'b', 'c']]
)입니다. 여기서는 a
단일 문자로서 외부 목록의 구성원이 아닙니다. 실제로 내부 목록의 첫 번째 문자입니다.
>>> 'a' in ['abc']
False
>>> 'a' in ['abc'][0]
True
>>> 'a' == ['abc'][0][0]
True
들어 ('abc')
당신은 'A'에서 얻을 ('abc')
진정한 수익을.
그러나 ['abc']
배열 목록이므로 ['abc']
false 를 반환 하면 'a'가 표시됩니다 .
예:
입력: ('abc') == 'abc'
산출: True
따라서 ( 'abc')에서 'a'를 호출하면 'abc'의 'a'와 같습니다. ( 'abc')는 튜플이 아니지만 'abc'는 문자 'a'가있는 문자의 배열이기 때문입니다. 문자열 'abc'의 인덱스 0.
반면에 [ 'abc']는 배열 목록이며 'abc'는 배열 [ 'abc']의 인덱스 0에있는 단일 문자열입니다.
Tupple 예 : x = ('abc', 'def', 'mnop')
어레이 예 : x = ['abc', 'def', 'mnop']
또는
x = ('abc'), y = 'abc'
여기 항상 x == y
.
그러나 'a' in ['abc']
=>의 경우
x = ['abc'], y = 'abc'
여기 x != y
있지만x[0] == y
다른 사람들이 언급 ('abc')
했듯이은 튜플이 아닙니다. 'a'
의 요소가 아닙니다 ['abc']
. 그 목록의 유일한 요소는'abc'
x='abc' in ['abc']
print (x)
True #This will evaluate to true
이것은 또한 true로 평가됩니다.
y = 'a' in ['a','b','c']
print (y)
True
('abc')
와 동일합니다 'abc'
.
'a' in ('abc')
와 동일합니다 'a' in 'abc'
.
'a' in ('abc', )
로 반환 False
됩니다 'a' in ['abc']
.
'a' in ['a', 'b', 'c']
로 반환 True
됩니다 'a' in 'abc'
.
참고 URL : https://stackoverflow.com/questions/31900892/why-is-a-in-abc-true-while-a-in-abc-is-false
'development' 카테고리의 다른 글
Visual Studio-편집 계속 후 "메타 데이터 파일 'XYZ'를 찾을 수 없습니다."오류가 발생합니다 (0) | 2020.10.28 |
---|---|
Jekyll의 마크 다운 코드 블록 내에서 이중 중괄호 이스케이프 (0) | 2020.10.28 |
SQLite 테이블에서 마지막 자동 증가 ID를 검색하는 방법은 무엇입니까? (0) | 2020.10.28 |
간단한 PHP 페이지 매김 스크립트 (0) | 2020.10.28 |
symfony2에서 일부 클래스의 인스턴스가 아닌지 확인하는 방법 (0) | 2020.10.28 |