파이썬/문자열
파이썬 문자열2
watervin
2022. 1. 7. 11:41
컴프리핸션
[ 수식 for 변수 in 리스트 if 조건 ]
ex ) print( [ 수식 for 변수 in 리스트 if 조건 ] )
*컬렉션의 개별데이터 _> element
#컴프리핸션 nums = [ n*2 for n in range(1,11)] for i in nums: print(i ,end = " , ") print("\n----다른 예제----") #컴프리핸션 안쓴경우 nums = [] for n in range(1,11): nums.append(n*2) print(nums) print("\n----다른 예제----") #필터링 기능 print([ n for n in range(1,11) if n % 3 == 0]) |
리스트 삽입
*append(값)
*insert(위치, 값)
nums = [1,2,3,4,5] nums.append(5) print(nums) nums.insert(2,99) print(nums) |
nums = [1,2,3,4] nums[2:2] = [90,91,92] #기존 리스트에 새로운 값 넣기 print(nums) print("----다른 예제----") num = [1,2,3,4] num[2] = [90,91,92] #이건 리스트 자체를 새로 넣는거 print(num) |
리스트 연결
리스트1.extend(리스트2)
리스트1 = 리스트1 +리스트2
list1 = [1,2,3,4,5]
list2 = [10,20,30]
list1.extend(list2)
print(list1)
|
리스트 삭제
.remove(값) - 첫번째 요소만 제거
del(리스트[인덱스]) - 지정한 인덱스의 요소 제거
[시작:끝] = []
score = [88,95,70,100,99,88,78,50]
score.remove(100)
print(score)
del(score[2])
print(score)
score[1:4] = []
print(score)
|
pop() - 리스트의 끝 요소를 삭제하고 삭제한 요소를 리턴
.pop(인덱스) - 지정한 인덱스의 끝 요소를 삭제하고 학제한 요소 리턴
score = [88,95,70,100,99,88,78,50]
print(score.pop())
print(score.pop())
print(score.pop(1))
print(score)
|
score = [88,95,70,100,99]
score.append(50)
print('큐',score)
print('큐',score.pop(0))
print('큐',score)
print("---다른예제---")
score = [88,95,70,100,99]
score.append(50)
print('스택',score)
print('스택',score.pop())
print('스택',score)
|
문자열검색
.index(값) - 지정한 값을 찾아 해당 요소의 인덱스를 리턴, 없으면 예외 발생
.count(값) - 지정한 값이 리스트에 몇번나오는지 계산한 값을 리턴
score = [88,95,70,100,99,88,78,50]
perfect = score.index(100)
print("만점 받은 학생은 %d번 입니디."%perfect)
pernum = score.count(100)
print("만점자 수는 %d명입니다."%pernum)
|
리스트 검색
len(시퀀스) - 길이
max(시퀀스) -최대값
min(시퀀스) -최소값
def main():
names = ["홍길동","고길동","둘리","또치"]
scores = [90,80,50,30]
name = input("검색 이름: ")
if name in names:
ix = names.index(name)
score = scores[ix]
print(f'{name}의 성적 : {score}')
else:
print(f'{name}은 없는 학생입니다.')
main()
|
리스트 정렬
.sort 리스트 정렬
.reverse - 리스트의 순서를 역으로 바꿈
sorted - 정렬하여 새로운 리스트로 리턴
score = [88,95,70,100,99]
score.sort()
print(score)
score.reverse()
print(score)
|
def main():
country = ["korea","japan","china","america"]
#country = [c.lower() for c in country]
#print(country)
country.sort()
print(country)
country.sort(key=str.lower)
print(country)
country = ["south korea","japan","china","america"]
country.sort(reverse=True,key = len)
print(country)
main()
|
score = [88,95,70,100,99]
sorted_score = sorted(score)
print(score)
print(sorted_score)
print("===다른 예제===")
score = [88,95,70,100,99]
sorted_score = sorted(score,reverse=True)
print(score)
print(sorted_score)
|