728x90
반응형
자바 같은 경우, "length" 속성을 통하여 문자열의 길이나, 배열의 개수를 알 수 있었는데, 파이썬의 경우에는 len() 함수를 이용합니다.
일부 클래스에서는 count() 메소드를 통하여 항목의 개수를 반환하는 경우가 있었지만, 파이썬은 약간 다릅니다.
시퀀스나 컬렉션에 대한 항목 개수를 얻기 위해서는 len() 함수를 이용하고, 시퀀스 객체에 대한 count() 메소드의 경우, 입력한 서브 시퀀스가 중첩되지 않게 나타나는 회수를 반환합니다.
각각의 함수들에 대해 자세히 살펴보면 다음과 같습니다.
len() 함수
파이썬에서 시퀀스(문자열, bytes, bytearray, 리스트, 튜플, range 등) 또는 컬렉션(딕셔너리, set)의 길이 (항목 수)를 얻는데 이용합니다.
import array
import struct
print('len() function example')
array1 = array.array('i', [123, 3423, 252, 3245, 2134, 123, 4653, 123])
print('len1 = ', len(array1))
bytes2 = struct.pack('IIIIIIII', 123, 3423, 252, 3245, 2134, 123, 4653, 123)
print('bytes = ', bytes2)
print('len2 = ', len(bytes2))
bytesarray3 = bytearray(bytes2)
print('bytesarray = ', bytesarray3)
print('len3 = ', len(bytesarray3))
bytesarray3.extend(b'{\x00\x00\x00')
print('len4 = ', len(bytesarray3))
""" result =>
len() function example
len1 = 8
bytes = b'{\x00\x00\x00_\r\x00\x00\xfc\x00\x00\x00\xad\x0c\x00\x00V\x08\x00\x00{\x00\x00\x00-\x12\x00\x00{\x00\x00\x00'
len2 = 32
bytesarray = bytearray(b'{\x00\x00\x00_\r\x00\x00\xfc\x00\x00\x00\xad\x0c\x00\x00V\x08\x00\x00{\x00\x00\x00-\x12\x00\x00{\x00\x00\x00')
len3 = 32
len4 = 36
"""
count() 메소드
count() 메소드는 bytes, bytearray나, array에서 입력한 서브 시퀀스가 지정한 시작(start)부터 마지막(end)까지에서 몇 번이나 나타나는지 계수한 값을 반환하는 클래스내의 메소드입니다.
import array
import struct
print('count() method example')
array1 = array.array('i', [123, 3423, 252, 3245, 2134, 123, 4653, 123])
print('count1 = ', array1.count( 123 ))
bytes2 = struct.pack('IIIIIIII', 123, 3423, 252, 3245, 2134, 123, 4653, 123)
print('bytes = ', bytes2)
print('count2 = ', bytes2.count( b'{\x00\x00\x00' ))
bytesarray3 = bytearray(bytes2)
print('bytesarray = ', bytesarray3)
print('count3 = ', bytesarray3.count( b'{\x00\x00\x00' ))
bytesarray3.extend(b'{\x00\x00\x00')
print('count4 = ', bytesarray3.count( b'{\x00\x00\x00' ))
""" result =>
count() method example
count1 = 3
bytes = b'{\x00\x00\x00_\r\x00\x00\xfc\x00\x00\x00\xad\x0c\x00\x00V\x08\x00\x00{\x00\x00\x00-\x12\x00\x00{\x00\x00\x00'
count2 = 3
bytesarray = bytearray(b'{\x00\x00\x00_\r\x00\x00\xfc\x00\x00\x00\xad\x0c\x00\x00V\x08\x00\x00{\x00\x00\x00-\x12\x00\x00{\x00\x00\x00')
count3 = 3
count4 = 4
"""
참고자료
https://docs.python.org/ko/3.9/library/functions.html
https://docs.python.org/ko/3.9/library/stdtypes.html
https://docs.python.org/ko/3.9/library/array.html
'프로그래밍 > Python' 카테고리의 다른 글
문자열을 날짜로 변환하는 방법 (0) | 2021.04.17 |
---|---|
[Python] os.mkdir() 폴더 생성시, "FileNotFoundError: [WinError 3] 지정된 경로를 찾을 수 없습니다" 오류 대처 (0) | 2021.04.09 |
[Python] "Unicode-objects must be encoded before hashing" 오류 대처법 (0) | 2021.02.02 |
datetime 다루기 (날짜 연산 및 timezone) (0) | 2020.12.23 |
데이터 형 변환(type cast) : str, bool, int, float, chr (0) | 2020.12.11 |