> 백엔드 개발 > 파이썬 튜토리얼 > 데이터 유형에 대한 Python의 가장 자세한 설명

데이터 유형에 대한 Python의 가장 자세한 설명

coldplay.xixi
풀어 주다: 2020-12-08 17:20:23
앞으로
3491명이 탐색했습니다.

Python Tutorial이 칼럼에서는 관련 데이터 유형을 소개합니다

데이터 유형에 대한 Python의 가장 자세한 설명

관련 무료 학습 권장 사항: Python Tutorial(비디오)

Strings

문자열의 함정:

따옴표가 세 개인 문자열이 없는 경우 중간에 큰따옴표로 묶인 문자열은 인터프리터에서 큰따옴표로 출력됩니다

삼중따옴표로 묶인 문자열 중간에 큰따옴표가 있으면 인터프리터에서 작은따옴표로 출력됩니다

문자열은 메모리에 저장됩니다

문자열 작업:

Input: input()

Output: print()

Index: str[index]

Get address: id(str)

Slice: str[start: end: step] ( 음수 단계 크기--역순으로 선택합니다. 선택 방향은 일관되어야 합니다. 그렇지 않으면 데이터를 선택할 수 없습니다.)

검색: find(): 구문: str.find(substr, start, end) 참고: 반환 값은 처음 나타나는 인덱스 값; 하위 문자열이 존재하지 않으면 -1이 반환되고 오류가 보고되지 않습니다.

예: mystr = 'hello world and itcast and itheima and Python' print(mystr.find(' and')) # 12 print(mystr.find ('and',15,30)) # 23 print(mystr.find('ands')) # -1 ands 하위 문자열이 존재하지 않습니다 index( ):

구문: str.index(substr, start , end) 반환 값은 처음 나타나는 인덱스 값입니다. 하위 문자열이 없으면 오류가 보고됩니다. 예: mystr = 'hello world 및 itcast 및 itheima 및 Python'print(mystr.index('and')) # 12 print(mystr.index('and',15,30)) # 23print(mystr.index('ands ')) #인덱스 검색 하위 문자열이 없으면 오류가 보고됩니다. count(): count substrings 발생 횟수 구문: str.index(substr, tart, end) 참고: 반환 값은 하위 문자열이 존재하지 않으면 0을 반환하고 오류가 보고되지 않습니다. 예: mystr = 'hello world and itcast and itheima and Python ' print(mystr.count('and',15,30) ) # 1 print(mystr.count('and')) # 3print(mystr.count('ands')) # 0 rfind(): find()와 동일한 기능이지만 검색은 방향은 오른쪽에서 시작 rindex(): index()와 동일한 기능이지만 검색 액세스는 오른쪽에서 시작

데이터 유형에 대한 Python의 가장 자세한 설명

수정: replacement(): 대체 구문: str.replace(old substring, new substring, number 교체 횟수) 참고: 교체 횟수를 기록하지 않으면 기본적으로 모든 이전 하위 문자열이 교체됩니다. 교체 횟수가 하위 문자열의 발생 횟수를 초과하면 교체 횟수는 해당 문자열의 발생 횟수가 됩니다. 하위 문자열. 바꾸기 함수를 호출한 후 원래 문자열의 데이터가 수정되지 않은 것으로 확인되었습니다. 수정된 데이터는 바꾸기 함수의 반환 값입니다. 예: mystr = 'hello world. 그리고 itcast 및 itheima 및 Python ' new_str = mystr.replace('and','he') new_str = mystr.replace('and','he',1) new_str = mystr.replace('and','he' ,10) 분할() : 분할 구문: str.split(분할 문자, num) 참고: 반환 값은 목록입니다. 누락된 분할 문자 num은 분할 문자의 발생 횟수, 즉 데이터 수를 나타냅니다. 미래에 반환되는 값은 num+1입니다

예를 들어, mystr = 'hello world and itcast and itheima and Python' list1 = mystr.split('and') list1 = mystr.split('and',2) Join() :

병합 구문: 문자 또는 부분 문자열 조인(여러 문자 시퀀스 구성) 참고: 문자열을 병합하려면 부분 문자열 또는 부분 문자열을 사용하십시오. 즉, 여러 문자열을 새 문자열로 병합합니다. 'bb','cc'] new_str = '...'.join(mylist) print(new_str)

Capitalize(): 문자열의 첫 번째 문자를 대문자로 변환 구문: str.capitalize() 참고: capitalize() 함수가 변환됩니다. 문자열의 첫 번째 문자만 대문자로 표시되고 다른 모든 문자는 소문자로 표시됩니다. 예: mystr = 'hello world and itcast and itheima and Python' new_str = mystr.capitalize() print(new_str) title(): 문자열의 각 단어를 변환합니다. 첫 글자를 대문자로 변환하는 구문: str.title()

예: mystr = 'hello world and itcast and itheima and Python' new_str = mystr.title() print( new_str) lower(): 문자열을 대문자에서 소문자로 변환 구문: str.lower() 참고: 모두 소문자로 변환

예: mystr = 'hello world and itcast and itheima and Python'new_str = mystr.lower() print(new_str) upper(): 문자열을 소문자로 변환 대문자 구문: str.upper() 참고: 모두 소문자로 변환

예: mystr = 'hello world and itcast and itheima and Python' new_str = mystr.upper( ) print(new_str)

lstrip() 앞뒤 공백 제거: 문자열 왼쪽의 공백 문자 삭제 구문: str.lstrip() 예: mystr = ' hello world and itcast and itheima and Python ' new_str = mystr.lstrip() print(new_str) rstrip(): 문자열 오른쪽의 공백 문자를 삭제합니다. 구문: str.rstrip()

예: mystr = ' hello world and itcast and itheima and Python ' new_str = mystr.rstrip() print(new_str) Strip(): 문자열 양쪽에 있는 공백 문자를 삭제합니다. 구문: str.strip()

For 예: mystr = ' hello world and itcast and itheima and Python ' new_str = mystr.strip() print(new_str)

String alignment ljust(): 왼쪽 정렬되고 지정된 문자(기본 공백)로 채워진 원래 문자열을 반환합니다. 길이에 해당하는 새 문자열 구문: str.ljust (길이, 패딩 문자) 예: mystr = "hello" print(mystr.ljust(10,'.')) 효과는 다음과 같습니다: 'hello....' rjust () : 원래 문자열이 오른쪽 정렬되고 지정된 문자(기본 공백)로 해당 길이에 패딩된 새 문자열을 반환합니다. 구문: str.rjust(길이, 패딩 문자)

예: mystr = "hello" print( mystr.rjust (10,'.')) 효과는 다음과 같습니다. '...hello' center(): 중앙에 정렬되고 원래 문자열과 정렬되며 지정된 문자로 해당 길이까지 채워진 새 문자열을 반환합니다(기본값) 구문: str .center(길이, 패딩 문자) 예: mystr = "hello" print(mystr.conter(10,'.')) 효과는 다음과 같습니다: '..hello...'

Judge 시작과 끝 startwith(): 문자를 확인합니다. 문자열이 지정된 하위 문자열로 시작하는지 여부는 True가 반환되고, 그렇지 않으면 False가 반환됩니다. 시작 및 끝 위치 첨자를 설정한 경우 지정된 범위 내의 구문을 확인하세요. str.startswith(substring,start,end)

예: mystr = 'hello world and itcast and itheima and Python' print(mystr.startswith ( 'hello')) print(mystr.startswith('hel')) print(mystr.startswith('hels')) endwith(): 문자열이 지정된 하위 문자열로 끝나는지 확인하고, 그렇다면 True를 반환하고, 그렇지 않으면 반환합니다. 거짓 . 시작 및 끝 위치 첨자를 설정한 경우 지정된 범위 내의 구문을 확인하세요. str.endswith(substring,start,end)

예: mystr = 'hello world and itcast and itheima and Python' print(mystr.endswith ( 'Python')) print(mystr.endswith('Pythons'))

Judge isalpha(): 문자열에 하나 이상의 문자가 있고 모든 문자가 문자이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 구문: str.isalpha( ) 예: mystr = 'hello world and itcast and itheima and Python' print(mystr.isalpha()) isdigit(): 문자열에 숫자만 포함되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 구문: str.isdigit()

예:mystr1 = '12345' print(mystr1.isdigit()) isalnum(): 문자열에 하나 이상의 문자가 있고 모든 문자가 문자 또는 숫자인 경우 구문: str.lsalnum()

예: mystr2 = ' abc123' print (mystr2.isalnum()) isspace(): 문자열에 공백만 포함되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 구문: str.isspace()

예: mystr3 = ' 'print(mystr3. isspace())

Lists

목록의 함정:

목록은 데이터 구조의 구체적인 구현입니다.

목록 형식 [데이터 1, 데이터 2, 데이터 3]

작업에서 목록은 동일한 유형의 데이터를 저장해야 합니다. 데이터를 최대한 많이 Data

데이터 유형에 대한 Python의 가장 자세한 설명

목록 작업:

append(): 목록 끝에 데이터를 추가합니다 구문: list.append(data) 참고: 목록에 데이터를 추가할 때 지정된 데이터가 직접 추가됩니다. 즉, 원래 목록이 수정되므로 목록은 가변 유형의 데이터입니다. Append()에 추가된 데이터가 시퀀스인 경우 전체 시퀀스를 목록에 추가하세요

예: name_list = ['Tom','Lily','Rost'] name_list.append('xiaoming') print(name_list ) # 결과: ['Tom','Lily','Rost','xiaoming'] extend(): 데이터를 목록 끝에 추가합니다. 데이터가 시퀀스인 경우 이 시퀀스의 데이터를 목록에 추가합니다. 구문: list.extend (data)

예: name_list = ['Tom','Lily','Rost'] name_list.extend('xiaoming') print(name_list) # 결과: ['Tom','Lily','Rost' ,'x','i','a',...] insert(): 새 데이터를 추가할 위치를 지정합니다 구문: list.insert (위치 첨자, 데이터) 예: name_list = ['Tom','Lily ','Rost'] name_list.insert(1, 'xiaoming') print(name_list) # 결과: ['Tom','xiaoming','Lily' ,'Rost']

다음 항목이 있는지 확인: 구문: str in list

예: name_list = ['Tom','Lily','Rost'] print('Lily' inname_list) # True print('Lilys' in name_list) # Flase not in: 구문: str not in list 예: name_list = ['Tom','Lily','Rost'] print('Lily' not in name_list) # Flaseprint('Lilys' notinname_list)# True

Delete del: 구문: del 대상 예: name_list = ['Tom','Lily','Rost'] del name_list[0] print(name_list) # ['Lily','Rost'] pop( ): 지정된 첨자(기본적으로 마지막 것)의 데이터를 삭제하고 데이터를 반환합니다. 첨자에 따르든 마지막 것을 삭제하든 pop 함수는 삭제된 데이터를 반환합니다. 구문: list.pop( )

예: name_list = ['Tom','Lily','Rost'] del_name = name_list.pop(1) print(del_name) # 'Lily' print(name_list) # ['Tom', 'Rost']

remove(): 목록에서 특정 데이터와 일치하는 첫 번째 항목을 제거합니다. 구문: list.remove(data)

예: name_list = ['Tom','Lily','Rose' ] name_list.remove('Rose' ) print(name_list) # ['Tom','Lily']clear(): 목록 구문 지우기: list.clear() 예: name_list = ['Tom',' Lily','Rost'] name_list.clear () print(name_list) # []

지정된 첨자 데이터를 변경 및 수정합니다

예: name_list = ['Tom','Lily','Rost'] name_list[0] = 'aaa'print(name_list) # ['aaa','Lily','Rost'] reverse() :역 구문: list.reverse()

예: num_list = [1, 5,2,3,6,8] num_list.reverse() print(num_list) # [8,6,3,2,5,1]sort(): 정렬 구문: list.sort(key=None, reverse=False) 참고: reverse는 정렬 규칙을 나타냅니다. reverse = True 내림차순, reverse = False 오름차순(기본값)

예: num_list = [1,5,2,3,6,8] num_list.sort( ) print(num_list) # [1,2,3,5, 6,8]

색인 확인: index(): 지정된 데이터가 있는 위치의 인덱스를 반환--검색 중인 데이터가 존재하지 않는 경우 구문: list.index(data, start, end) 예: name_list = [ 'Tom','Lily','Rose'] print(name_list.index('Lily',0,2) )) # 1 count(): 지정된 데이터가 현재 목록에 계속되는 횟수를 계산합니다. 구문: list.count ()

예: name_list = ['Tom','Lily','Rose'] print(name_list.count('Lily')) len(): 목록의 길이, 즉 목록의 데이터 수에 액세스합니다. 구문: len (list)

예: name_list = ['Tom' ,'Lily','Rose'] print(len(name_list)) # 3

Copy copy(): 데이터를 저장할 새 공간 열기 구문: list.copy ()예: name_list = ['Tom' ,'Lily','Rose'] name_li2 = name_list.copy() print(name_li2) # ['Tom','Lily','Rose']

Traverse while : 목록의 각 데이터를 순서대로 인쇄합니다. 예: name_list = ['Tom','Lily','Rose'] i = 0 while i # 결과: Tom Lily Rose for: 목록의 각 데이터를 순서대로 인쇄합니다. 예: name_list = ['Tom','Lily','Rose'] for i in name_list: print(i) # 결과:Tom Lily Rose

목록 중첩 개념: 목록 중첩은 다른 하위 목록을 포함하는 목록을 나타냅니다.

예: name_list = [['Xiao Ming','Xiao Hong','Xiao Green'], ['Tom','Lily' ,'Rose'],['Zhang San','Li Si','Wang Er']] print(name_list[2]) # ['Zhang San','Li Si' ,'王two'] print (name_list[2][1]) # Li Si

Tuple

튜플의 함정:

튜플은 여러 데이터를 저장할 수 있으며, 튜플의 데이터는 다음과 같습니다. 수정할 수 없는

튜플의 형식: (데이터 1, 데이터 2, 데이터 3)

정의된 튜플에 데이터가 하나만 있는 경우 데이터 뒤에 쉼표를 추가하는 것이 가장 좋습니다. 그렇지 않으면 데이터 유형이 유일한 데이터 유형입니다.

작업에서는 튜플입니다. 가능한 한 동일한 유형의 데이터를 저장하세요

튜플 작업:

아래 첨자로 데이터를 찾는 검색: 예: tuple1 = ('aa','bb','cc' ,'bb') print(tuple1 [0]) # aaindex(): 특정 데이터를 찾습니다. 데이터가 존재하면 해당 첨자를 반환합니다. 그렇지 않으면 오류가 보고됩니다. 구문: 목록 및 문자열의 인덱스 방법과 동일합니다. - tuple.index (하위 문자열) 예: tuple1 = ('aa','bb','cc','bb') print(tuple1.index('aa')) # 0 count(): a를 계산합니다. 특정 현재 튜플에 데이터가 나타나는 횟수 구문: tuple.count(data) 예: tuple1 = ('aa','bb','cc','bb') print(tuple1.count('bb') )) # 1len(): 튜플에 있는 데이터 수 계산 구문: len(tuple) 예: tuple1 = ('aa','bb','cc','bb') print(len( 튜플1)) # 4

튜플의 직접 데이터를 수정하면 오류가 즉시 보고됩니다. 예: tuple1 = ('aa','bb','cc','bb') tuple1[0] = 'aaa' # 오류 신고 튜플 내부에 목록이 있는 경우 목록의 데이터를 수정하세요. 예: tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30) print( tuple2[2]) # 목록에 액세스 tuple2[ 2][0] = 'aaaaa' print(tuple2) # (10, 20, ['aaaaa', 'bb', 'cc'], 50, 30 )

사전

사전의 함정:

사전의 데이터는 키-값 쌍의 형태로 나타납니다. 즉, 사전은 데이터 순서와 관련이 없습니다. .나중에 데이터가 어떻게 변경되더라도 해당 키의 이름에 따라 데이터를 찾으면 됩니다. dict[key] = value 증가: 구문: 사전 시리즈 [key] = value 참고: 키가 있으면 해당 키 값을 수정하고, 키가 없으면 이 키-값 쌍을 추가하세요. 사전은 변수 유형입니다. 예: dict1 = {'name':'Tom', 'age':20 'gender':'male'} dict1['name'] = 'Rose' print(dict1)

# {' 이름':'로즈', '나이':20; '성별':'남성'}

dict1['id'] = 110 print(dict1)

# {'이름':'톰', '나이 ':20 ; 'gender':'male', 'id':110}

dict(zip(list1,list2)): 구문: dict(zip(list1,list2)) 참고: 두 목록의 데이터 수 예를 들어, a = [1,2,3,4] b = [1,2,3,4] c = dict(zip(a,b)) print(c)

# {1 :1, 2:2, 3: 3, 4:4}

delete del()/ del: 사전을 삭제하거나 사전에서 지정된 키-값 쌍을 삭제합니다. 구문: del dict 예: dict1 = {' 이름':'톰', '나이':20, ' 성별':'남성'} del dict1['gender'] print(dict1) # {'이름':'톰', '나이':20 } clear(): 사전 지우기 구문: dict.clear( )예: dict1 = {'name':'Tom', 'age':20, 'gender':'male'} dict1.clear() print (dict1)

# {}

변경: 문법: 사전 시퀀스 [key] = value 참고: 키가 있으면 키에 해당하는 값을 수정합니다. 키가 없으면 키-값 쌍을 추가합니다. 예: dict1 = {'name':'Tom', 'age':20; ' 성별':'남성'} dict1['name'] = 'Rose' print(dict1) # {'name':' Rose', 'age':20; 'gender':'Male'}Check 키 검색 구문: dict[key] 참고: 현재 검색된 키가 있으면 해당 값이 반환됩니다. 그렇지 않으면 오류가 발생합니다. 예: dict1 = {'name':'Tom', 'age':20; 'gender':'male '} print(dict1['name'])

# Tom

print(dict1['id' ]) # 오류 보고 get() 구문: 사전 시퀀스.get(키, 기본값) 참고: 현재 검색 중인 키가 없으면 두 번째 매개변수(기본값)가 반환됩니다. 생략되면 없음이 반환됩니다. 예: dict1 = {'name':'Tom', 'age':20 'gender':'male'} print(dict1.get('name'))

# Tom

print(dict1.get('id',100)) # 100 print(dict1.get('id')) # None 키() 구문: dict.keys() 예: dict1 = {'name ':'Tom', 'age':20; 'gender':'male'} print(dict1.keys()) # dict_keys(['name' ,'age','gender']) 값() 구문: dict.values() 예: dict1 = {'name':'Tom', 'age':20 'gender':'male'} print( dict1.values()) # dict1.values([ 'Tom',20,'']) items() 구문: dict1.items() 예: dict1 = {'name':'Tom', 'age' :20; 'gender':'male'} print (dict1.items()) # dict_items([('이름','Tom'),('age',20),('gender','male' )])

사전의 키를 탐색합니다(예: dict1 = {'name':'Tom', 'age':'male'} for key indict1.keys(): print (키) # 결과: 이름 나이 성별 사전의 값을 탐색합니다. 예: dict1 = {'name':'Tom', 'age':20'} for key in dict1.values() : print(key) # 결과: Tom 20 남성 사전의 요소를 탐색합니다. 예: dict1 = {'name':'Tom', 'age':20; '성별':'남성'} for key in dict1.items(): print(key) # 결과: ('이름','Tom') ('나이',20) ('성별', 'male') 사전의 키-값 쌍을 탐색합니다(압축 해제). 예: dict1 = {'name':'Tom', 'age':20 'gender':'male'} for key, 값 ​​in dict1.items(): print(f'{key} = {values}') # 결과: 이름 = Tom 나이 = 20 성별 = 남성

Collection

컬렉션의 함정:

{} 또는 set()을 사용하여 컬렉션을 생성하지만, 빈 컬렉션을 생성하려면 set()만 사용할 수 있습니다. 왜냐하면 {}는 사전을 생성하는 데 사용되기 때문입니다.

Sets는 아래 첨자 작업을 지원하지 않습니다. 순서 없음

set 데이터에는 중복 제거 기능이 있습니다

데이터 유형에 대한 Python의 가장 자세한 설명

Set 작업:

Add data add() 구문 : set.add() 참고: 컬렉션에 중복 제거 기능이 있으므로 이미 중복 제거 기능이 있는 컬렉션에 데이터를 추가할 때 현재 컬렉션에 있으면 작업이 수행되지 않습니다. 예: s1 = {10,20} s1.add(100 ) s1.add(10) print(s1) # {100, 10, 20} update( ): 구문: set.update(list) 참고: 추가된 데이터는 시퀀스입니다. 예: s1 = {10, 20} # s1.update(100) # Error s1.update([100, 200]) s1.update('abc') print(s1) # {'c', 100, 'a', 200, 10, 20 , 'b'}

데이터 삭제 제거() 구문: set.remove() 참고: 컬렉션에서 지정된 데이터를 삭제합니다. 데이터가 없으면 오류가 보고됩니다. 예: s1 = {10, 20} s1.remove(10) print(s1) # {20} s1 .remove(10) print(s1) # 오류 보고 폐기() 구문: set.discard() 참고: 데이터가 존재하지 않더라도 컬렉션에서 지정된 데이터를 삭제합니다. 오류 보고, 예: s1 = { 10, 20} s1.discard(10) print(s1) s1.discard(10) print(s1) pop() 구문: set.pop() 참고: set의 특정 데이터를 무작위로 삭제하고 이 데이터를 반환합니다. 예: s1 = {10, 20, 30, 40,50} del_num = s1.pop() print(del_num) print(s1)

데이터 찾기: 데이터가 설정된 순서에 있는지 판단합니다. 없음: 판단 데이터가 설정된 순서에 없습니다. 예: s1 = {10, 20, 30, 40, 50} print(10ins1) print(10notins1)

공개 작업

operator

연산자 지원되는 컨테이너 유형 설명 + 문자열, 목록 및 튜플 병합 * 문자열, 목록 및 튜플 복사 in 요소가 문자열, 목록, 튜플, 사전 및 컬렉션에 존재하는지 여부 in 요소가 문자열에 존재하지 않는지, 목록 및 튜플 그룹, 사전, 집합

예:

# +# 1. 문자열 str1 ='aa'str2 ='bb'str3 = str1 + str2print(str3)# aabb# 2. 목록 list1 = [1 , 2]list2 = [10, 20]list3 = list1 + list2print(list3)# [1, 2, 10, 20]# 3. 튜플 t1 = (1, 2)t2 = (10, 20)t3 = t1 + t2print(t3 )# (10, 20, 100, 200)# * # 1. String print('-'* 10)# ----------# 2. 목록 list1 = ['hello'] print( list1 * 4)# ['hello', 'hello', 'hello', 'hello']# 3. 튜플 t1 = ('world',)print(t1 * 4)# ('world', 'world ' , 'world', 'world')# in 여부 # 1. String print('a'in'abcd')# Trueprint('a'notin'abcd')# False# 2. List list1 = [' a','b','c','d']print('a'inlist1)# Trueprint('a'notinlist1)# False# 3. 튜플 t1 = ('a','b','c ' ,'d')print('aa'int1)# Falseprint('aa'notint1)# True

Public method

함수 설명 len()은 컨테이너의 요소 수를 계산합니다. del 또는 del() delete max() return 컨테이너에 있는 요소의 최대값 min()은 컨테이너에 있는 요소의 최소값을 반환합니다. range(start, end, step)는 사용되는 단계 길이와 함께 시작부터 끝까지의 숫자를 생성합니다. ⼼순회 가능한 데이터 개체(예: 목록, 튜플 또는 문자열)가 인덱스 시퀀스로 결합되고 일반적으로 데이터 및 데이터 첨자가 동시에 나열됩니다. for 루프에 사용됩니다

예:

# len()# 1. 문자열 str1 ='abcdefg'print(len(str1))# 7# 2. 목록 list1 = [10,20,30,40]print(len(list1))# 4# 3 . 튜플 t1 = (10,20,30,40,50)print(len(t1))# 5# 4. s1 = {10,20,30}print(len(s1))# 3# 설정 5. 사전 dict1 = {'name':'Rose','age':18}print(len(dict1))# 2# del()# 1. String str1 ='abcdefg'delstr1print(str1)# 2. 목록 list1 = [10 ,20,30,40]del(list1[0])print(list1)# [20, 30, 40]# max()# 1. String str1 ='abcdefg'print(max(str1)) # g# 2. 목록 목록1 = [10,20,30,40]print(max(list1))# 40# min()# 1. 문자열 str1 ='abcdefg'print(min(str1))# a# 2. 목록 목록1 = [10 ,20,30,40]print(min(list1))# 10# range() -- range()에 의해 생성된 시퀀스에는 끝 번호가 포함되어 있지 않습니다. # 1 2 3 4 5 6 7 8 9foriinrange(1, 10, 1): print(i)# 1 3 5 7 9foriinrange(1,10,2): print(i)# 0 1 2 3 4 5 6 7 8 9foriinrange(10): print(i)# enumerate() -- enumerate(traversable object, start=0)list1 = ['a','b','c','d','e']foriinenumerate(list1): print(i)forindex, charinenumerate(list1 , start=1 ): print(f' 아래 첨자는 {index}, 해당 문자는 {char}')

컨테이너 유형 변환

tuple() 함수: 시퀀스를 튜플로 변환합니다(예: list1 = [10, 20, 30) , 40, 50, 20] s1 = {100, 200, 300, 400, 500} print(tuple(list1)) print(tuple(s1))

list() 함수: 특정 변경 시퀀스를 목록으로 변환 예: t1 = ('a', 'b', 'c', 'd', 'e') s1 = {100, 200, 300, 400, 500} print(list(t1)) print (list (s1))

set() 함수: 시퀀스를 집합으로 변환합니다. 예: list1 = [10, 20, 30, 40, 50, 20] t1 = ('a', 'b', 'c ' , 'd', 'e') print(set(list1)) print(set(t1)) # 1. 세트는 목록 중복 제거를 빠르게 완료할 수 있습니다. # 2. 세트는 첨자 파생을 지원하지 않습니다.

수식 - 생성 공식

목록 이해 기능: 표현식을 사용하여 일반 목록을 만들거나 일반 목록을 제어합니다. 예: # while 루프 구현 # 1. 빈 목록 준비 list1 = [] # 루프를 작성하고 추가합니다. 빈 목록 list1에 순서대로 숫자 i = 0 while i # 루프 구현용

list1 = [] for i in range(10): list1.append(i) print(list1) # 목록 이해 구현 list1 = [i for i in range(10)] print(list1) # if 목록 파생 포함 # 방법 1: range() 단계 크기 구현 list1 = [i for i in range(0,10,2)] print(list1) # 방법 2: if 목록 이해 list1 = [i for i inrange(10) if i % 2 == 0] print(list1) # 목록 이해를 구현하기 위한 여러 for 루프 list1 = [(i, j)fori in range(1, 3)forjinrange(3)] print(list1)

사전 파생 기능: 신속하게 목록을 사전으로 병합하거나 사전에서 대상 데이터를 추출합니다. 예: # 1. 사전 만들기: 사전의 키는 숫자 1~5이고 값은 숫자의 제곱입니다. dict1 = {i:i**2 for i in range(1, 5)} print (dict1) # {1: 1, 2: 4, 3: 9, 4: 16} # 2. 두 목록을 하나의 사전으로 병합 list1 = ['이름', '나이', '성별' ] list2 = [' Tom', 20, 'man'] dict1 = {list1[i]: list2[i] fori inrange(len(list1))} print(dict1) # 3. 사전에 있는 대상 데이터 추출 개수 = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99} # 요구 사항: 그보다 크거나 같은 컴퓨터 수를 추출하세요 ~ 200 사전 데이터 count1 = {key: value for key, value in counts.items() if value >= 200} print(count1) # {'MBP':268, 'DELL' : 201}

세트 파생 기능: 세트를 빠르게 생성합니다. 세트에는 데이터 중복 제거 기능이 있습니다. 예: # 세트를 생성하면 데이터는 list1 = [1, 1, 2] list1 = [1 , 1, 2] set1 = {i ** 2 for i in list1} print(set1) # {1, 4}

작은 정수 개체 풀 및 큰 정수 개체 pool, 그리고 " is"와 "=="의 차이점

Python은 약한 변수 유형 언어입니다. 사용하기 전에 변수 유형을 선언할 필요가 없습니다. 변수에는 세 가지 속성이 있습니다: id(메모리 주소), type(변수 유형), value(값)

=, ==, is:= 할당 연산의 차이점은 id, type, value입니다. == 판단은 값이 같은지 판단하는 것이고, id가 같은지 판단하는 것입니다

소형 정수 개체 풀은 작은 정수 개체에 개체 풀 기술을 사용합니다. 작은 정수의 범위를 [-5,256]으로 설정합니다. 이 범위 내의 작은 정수, 모든 동일한 정수는 동일한 객체입니다. 마찬가지로 단일 문자에 대해서도 마찬가지입니다. 인턴 메커니즘은 공백과 단어의 재사용 기회를 처리할 때 생성됩니다. .은 크기 때문에 한 번 생성됩니다. 공백이 있으면 여러 번 생성됩니다. 단, 문자열 길이가 20보다 크면 한 번 생성되지 않습니다. a = -5 b = -5 a is b # True a = 256 b = 256 a is b # True a = 1000 b = 1000 a is b # True a = 'abc' b = 'abc' a is b # True a = 'helloworld' b = 'helloworld' a is b # True a = 'hello world' b = 'hello world' a is b # False

대형 정수 개체 풀 작은 정수의 범위를 초과하는 것은 큰 정수이며 매번 새로운 객체가 생성됩니다. 그러나 코드 블록의 큰 정수는 동일한 개체입니다. 터미널은 매번 한 번씩 실행되므로 매번 큰 정수가 다시 생성됩니다. pycharm에서는 모든 코드가 실행될 때마다 메모리에 로드되고 전체에 속하므로 다음 위치에 큰 정수 개체 풀이 있게 됩니다. 이번에는 코드 블록의 큰 정수가 pycharm의 동일한 개체입니다. 실행될 때마다 모든 코드가 메모리에 로드되어 전체에 속하게 됩니다. 즉, 코드 블록의 큰 정수는 동일한 객체입니다. a = 1000 b = 1000 a is b # False a = -1888 b = -1888 a is b # False class C1(객체): a = 100 b = 100 c = 1000 d = 1000 class C2(objcet): a = 100 b = 1000 print(C1.a is C1.b) # True print(C1.a is C1.a) # True print(C1.c is C1.d) # True print(C1.d is C1.b) # Falsec

Generator

생성기의 기능은 프로그램을 기반으로 합니다. 디자이너가 설정한 규칙은 루프에서 데이터를 생성 조건이 충족되지 않으면 데이터 생성이 종료됩니다 데이터가 전혀 생성되지 않습니다. 대신 하나가 사용되고 다른 하나가 생성되므로 많은 메모리를 절약할 수 있습니다

생성기 생성 생성기 이해는 목록 이해와 유사하지만 목록 이해는 괄호를 사용하여 # 생성기를 만듭니다 my_generator = ( i * 2 for i in range(5)) print(my_generator)

yield 키워드: Yield 키워드 생성기의 기능: def 함수 defmygenerator(n)에 Yield 키워드가 있습니다. for i in range(n): print('생성 시작... .') yield i print('한 번 완료됨...') 참고: 코드는 산출량에 도달하면 일시 중지됩니다. 다음에 생성기가 시작되면 일시 중지된 위치에서 생성을 계속 실행합니다. 생성기가 데이터 생성을 완료하고 생성기에서 다음 데이터를 다시 얻으면 StopIteration 예외가 발생합니다. 중지 반복 예외는 while 루프 내에 예외 처리 연산을 수동으로 추가해야 합니다. 중지 반복 예외는 for 루프 내에서 자동으로 처리되므로

생성기 관련 함수는 다음과 같습니다. function생성기에서 다음 값 가져오기for 루프생성기의 각 값 탐색

관련 무료 학습 권장 사항: 프로그래밍 비디오

위 내용은 데이터 유형에 대한 Python의 가장 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jianshu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿