DAY 6 Python 베이스: list and tuple 2018-06-19

9636 단어
01-list1
02-list_add
03-list_delete
04-list_operation
05-list function and usage method
06-tuple
01-list1
python의 데이터 형식: 숫자, 문자열, 목록, 모듈, 사전, 집합(서열)(용기 형식의 데이터) 목록(수조): 하나의 목록은 여러 종류의 데이터 목록을 저장할 수 있는 방식: 여러 데이터를 []에 넣고 여러 데이터 사이를 쉼표로 구분하는 특징: 목록은 가변적(안에 있는 요소의 개수와 값이 변할 수 있음을 가리킨다)[]는 목록의 표지
1.1.목록 선언
목록list1을 설명했습니다. 5개의 요소가 있습니다. 각각 1, 2, 3, 10.9, 'abc' 입니다.
list1 = [1, 2, 3, 10.9, 'abc']
print(list1)

빈 목록 설명하기
list2 = []

1.2.목록 요소 가져오기
a. 개별 요소 가져오기(요소에 해당하는 아래 첨자를 통해)
아래 표시된 범위: 0~(원소 개수 -1);아래 첨자를 통해 목록 요소를 가져올 때, 아래 첨자는 경계를 넘을 수 없습니다
print(list1[0])  #      0   
print(list1[3])  #      3   
print(list1[-1])    #         
# print(list1[5])   # IndexError: list index out of range     :         

b. 목록의 일부 요소 가져오기(슬라이스)
목록 이름 [시작 아래 첨자: 끝 아래 첨자] 아래 첨자에서 끝 아래 첨자까지의 모든 요소로 구성된 목록
list3 = [2, 10.5, 'a', 'abc', 10, 'dg',34 , 3]
print(list3[1:4])   #      1     3      
print(list3[:4])    #               3     
print(list3[2:])    #       2            
print(list3[:])     #               

목록 이름[시작 아래 첨자:끝 아래 첨자:단계 길이]
print(list3[0::2])  #    0  , 2      

주의: 만약 단계가 = -1이면 슬라이드 방식은 시작 하단에서 끝 하단까지 거꾸로 값을 얻는 것입니다. (끝 하단에 대응하는 값을 찾을 수 없습니다.) 그리고 시작 하단 값 > = 끝 하단 값 모듈 (tuple) 과 문자열 (str) 은 같은 이치입니다.
t1 = (1, 2, 3, 4, 5, 6, 7)
t2 = t1[4:1:-1]
print(t2)    # value:(5, 4, 3)

c. 목록을 옮겨다니기 (for 순환)
list4 = [1, 2, 3, 4, 5]
for item in list4:
    if item % 2 == 0:
        print(item)

목록에 있는 모든 요소의 및
sum1 = 0
for item in list4:
    sum1 += item
print(sum1)

목록의 요소와 아래 첨자를 동시에 가져옵니다.while로 홀수 요소로 표시된 것과
while x < len(list4):
    if x % 2 == 0:
        x += 1
        continue
    sum1 += list4[x]
print(sum1)

02-list_add
2.1.append 방법: 목록 이름.append(요소)
append () 는 목록에 요소를 추가하는 마지막 것입니다
list1.append('abc')
print(list1)

list1.append(10)
print(list1)

연습: 목록에 있는 [1,34,5,6,89,3,2,4]의 모든 짝수를 찾아서 저장하기
list1 = [1, 34, 5, 6, 89, 3, 2, 4]
list2 = []
for item in list1:
    if item % 2 == 0:
        list2.append(item)
print(list2)

2.2.insert: 목록 이름.insert(아래 첨자, 요소)
지정한 아래 첨자 앞에 지정한 요소를 삽입합니다
ist3 = [1, 2, 3, 4, 5, 6, 7, 8]
list3.insert(1, 'a')
print(list3)

연습: insert를 통해 4와 5 사이에 요소'b'를 삽입하기;8 뒤에 요소 '4' 를 삽입합니다.
list3.insert(5, 'b')
list3.insert(10, 'c')   #             ,         
list3.insert(0, 'd')    #              
print(list3)

====================수정 요소========================
원소 수정: 아래 표시를 통해 대응하는 원소를 가져와 다시 값을 부여합니다
list1 = [1, 2, 3, 4, 5]
list1[1] = 20
print(list1)

목록의 모든 요소를 원래의 2배로 바꾸다
for i in range(0,len(list1)):
    list1[i] = list1[i]*2
print(list1)

03-list_delete
3.1.del 문장:python에서 del는 모든 내용을 삭제할 수 있습니다
a.del 문장 삭제 목록 요소:del 목록 이름 [아래 첨자]
str1 = 'Hello'
list1 = ['a', str1, 10+20, 'b', True]
#      1   
del list1[1]
print(list1)

# del           
# del list1[20]

목록의 모든 짝수 삭제 연습
list2 = [1, 2, 3, 4, 5, 6, 7, 8]
index = 0
while index < len(list2):
    if list2[index] % 2 == 0:
        del list2[index]
    else:
        index += 1
print(list2)

b. 목록에서 문자열 삭제
isinstance(변수, 유형): 지정한 변수, 값이 지정한 유형str(문자열), int(정형),float(부동점형),bool(부울),complex(복수),list(목록),tuple(원조),dict(사전),set(집합)
re = isinstance(2+3i,complex)   #   'aa'      
print(re)

목록에서 문자열 삭제
list3 = ['a', 1, 20, 'pp', 19.3, 'ohk']
index = 0
while index < len(list3):
    if isinstance(list3[index],str):
        del list3[index]
    else:
        index += 1
print(list3)

3.2.remove 방법으로 지정한 요소 삭제
형식:목록 이름.remove(요소)
list4 = ['a', 'b', 'c', 1, 2, 3]
list4.remove('c')
print(list4)

remove를 사용하여 목록 요소를 삭제할 때 지정한 요소가 목록에 여러 개 있으면 첫 번째만 삭제합니다
list4 = ['a', 'b', 'c', 1, 2, 3,'c']
list4.remove('c')
print(list4)

목록 삭제 [1, 3, 4, 7, 8, 2, 3, 4, 1]의 모든 홀수
list5 = [1, 3, 4, 7, 8, 2, 3, 4, 1]
index = 0
while index < len(list5):
    if list5[index] % 2 != 0:
        list5.remove(list5[index])
    else:
        index += 1
print(list5)

3.3.pop () 방법을 사용하여 지정한 아래 표시된 요소를 삭제합니다
형식 1: 목록 이름.pop (아래 첨자) 목록에서 지정한 아래 첨자에 대응하는 요소 형식 2: 목록 이름을 꺼냅니다.pop () 목록에서 마지막 요소 꺼내기
list6 = [1, 2, 3, 4, 5, 6]
delitem = list6.pop(1)      #     1    list6   ,      delitem 
print(delitem,list6)

del_item2 = list6.pop()
print(del_item2,list6)

하나의 리스트[1, 2, 3, 4, 5, 6]의 요소를 모두 꺼내 다른 리스트에 [6, 5, 4, 3, 2, 1] 방법 1:
list6 = [1, 2, 3, 4, 5, 6]
list7 = []
index = 0
while index < len(list6):
    #      
    del_item = list6.pop(index)
    list7.insert(0,del_item)
print(list6, list7)

방법2:
list6 = [1, 2, 3, 4, 5, 6]
list7 = []
while len(list6) > 0:
    #      
    value = list6.pop()
    list7.append(value)
print(list6,list7)

방법 3:
list6 = [1, 2, 3, 4, 5, 6]
list7 = []
for _ in range(0,len(list6)):
    value = list6.pop()
    list7.append(value)
print(list6, list7)

04-list_operation
4.1.목록의 길이를 구합니다:len (목록 이름)
list1 = [1, 2, 3, 4, 5, 6]
length = len(list1)
print(length)

4.2.목록의 + 작업
목록 1 + 목록 2: 목록 1과 목록 2의 요소를 새로운 목록으로 조합
list2 = [1, 2, 3, 4] + ['a','b']
print(list2)

4.3.목록* 작업
목록 정수: 목록의 요소를 지정된 횟수만큼 반복하여 새 목록으로 조합*
list3 = [10, 2] * 4
print(list3)

4.4.in 및 not in
원소 in 목록: 지정한 원소가 지정한 목록에 있는지 판단
list4 = ['abc', '123', 1, '0o', 10]
re = 'abcd' in list4
print(re)

원소 not in 목록: 지정한 원소가 지정한 목록에 없는지 판단
5.5.목록에서 가장 크고 작은 요소 가져오기
형식:max(목록),min(목록),sum(목록(숫자 형식만 가능)
list5 = [1, 34, 6, 78, 90, 12, 35]
max1 = max(list5)
print(max1)

list6 = ['abc', 'a', 'b', 'aaa']
print(max(list6))

주의: 최대 값이나 최소 값을 가져올 때 목록에 있는 요소의 유형은 모두 숫자이거나 문자열입니다
 list7 = ['a', 'b', 1, 3]
print(max(list7))   #TypeError: '>' not supported between instances of 'int' and 'str'

연습: 공연의 평균 점수를 구하고 심판 5명에게 공연의 점수를 매긴다.최고점 하나를 빼고, 최저점 하나를 빼고, 마지막 평균점을 구한다.
import random
list8 = []
for _ in range(0,5):
    value = random.randint(0,10)
    list8.append(value)
print(list8)
max1 = max(list8)
list8.remove(max1)
min1 = min(list8)
list8.remove(min1)
#      
# sum(  ):            
print(sum(list8)/len(list8))

4.6.다른 데이터를 목록으로 변환
형식:list(데이터)
list1 = list('abcdef')
print(list1)

range()를 목록으로 변환
list2 = list(range(10))
print(list2)

목록을 문자열로 변환하기 (목록의 요소만 문자열로 연결하는 것이 아니라, 전체 목록의 모든 구조를 문자열로 하는 문자
str1 = str([1, 2, 3, 'a'])
print(str1)
print(list(str1))   # value:['[', '1', ',', ' ', '2', ',', ' ', '3', ',', ' ', "'", 'a', "'", ']']

05-list function and usage method
5.1.count(obj): 어떤 요소가 목록에 나타난 횟수를 통계합니다
list1 = [1, 1, 1, 2,]
print(list1.count(1))

5.2.extend (seq): 목록 끝에 다른 서열의 여러 값을 한꺼번에 추가합니다. (새 목록으로 원래 목록을 확장합니다.)
seq -- 요소 목록
list2 = ['a', 'b']
list2.extend(list1)
print(list2)

5.3.index(obj): 목록에서 첫 번째 일치하는 항목의 인덱스 위치를 찾습니다(아래 표시)
list3 = [1, 2, 3, 4, 3]
print(list3.index(3))

5.4.reverse (): 목록의 요소를 반대로 하고 함수의 반환 값이 비어 있습니다
print(list3,list3.reverse())

5.5.sort(cmp,key,bool): 원래 목록을 정렬합니다
list3.sort(reverse = True)   #  
print('5.---', list3)
list3.sort()      #  
print(list3)

5.6.clear (): 목록 비우기
list3.clear()
print(list3)

5.7.copy():목록 복사
list7 = list3.copy()
print('7.===', list7)

06-tuple
모듈(tuple)은 변할 수 없는 목록 목록에서 추가, 수정, 삭제와 관련된 작업을 제외하고는 모듈을 언제 사용할 수 있습니까?용기에 저장된 데이터가 수정되지 않을 때 사용합니다. 예를 들어 요일에 대응하는 값
6.1.성명 모듈
tuple1 = (1, 2, 3, 4, 'aa', True)
print(tuple1)

6.2.목록과 일치하는 검색만 사용 가능
print(tuple1[0])
print(tuple1[-1])
print(tuple1[0:3])

for item in tuple1:
    print(item)

for index in range(len(tuple1)):
    print(tuple1[index])

6.3.+,*사용할 수 있다(새로운 원조를 형성하여 원래의 원조는 변하지 않는다)
print((1, 2, 3) + ('a', 'b', 'c'))
print((1, 2, 3)*3)

6.4.in , not in
a = 10
print(a in (10, 2))
print(a not in (10, 2))

6.5.추가, 삭제, 이 지원되지 않습니다.
연습: 1~7의 숫자를 입력하고 출력은 무슨 요일입니까?예를 들어, 1을 입력하면 월요일이 출력됩니다.
week = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
while True:
    num = int(input('input number 1~7',))
    print(week[num-1])

좋은 웹페이지 즐겨찾기