python 목록 유도 식 용법

1.정의
한 줄 로 코드 구축
예제

#     1-100   
l1 = [i for i in range(1,101)]
print(l1)

#     
[1,2,3,4,5,6,...100]
2.두 가지 구축 방식
2.1 순환 모드:[변수(가공 후의 변수)for 변수 in iterable]
예제
1.10 이내 의 모든 정 수 를 목록 에 기록

print([i for i in range(1,11)])
#     
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2.10 이내 의 모든 정수 제곱 을 목록 에 기록 합 니 다.

print([i**2 for i in range(1, 11)])
3.100 이내 의 모든 짝수 기록 목록.

print([i for i in range(2, 101, 2)])
4.python 1 기부 터 python 100 기 까지 목록 list 쓰기

print([f'python{i} ' for i in range(1, 101)])
연습 문제

l1 = [i*i for i in range(1,11)]
print(l1)

l2 = [i for i in range(1,101) if i % 2 == 0]
print(l2)

l3 = [f'python{i} ' for i in range(1,101)]

print(l3)

2.2 필터 모드:[변수(가공 후의 변수)for 변수 in iterable if 조건]판단 추가
예제

#       ,      4
print([i for i in range(11) if i > 4])

#     :
[5, 6, 7, 8, 9, 10]

연습 문제
1.10 이내 의 4 이상 의 수

# print([i for i in range(11) if i > 4])
print([i for i in range(1,31) if i % 3 == 0])
2.30 이내 에 3 으로 나 눌 수 있 는 수.

#        3      ,            
l1 = ['    ', 'fdsaf', 'alex', 'sb', 'ab']

l2 = [i.upper() for i in l1 if len(i) > 3]
print(l2)

3.포 함 된 목록 의 이름 에'e'가 두 개 들 어 있 는 모든 이름 을 찾 습 니 다(난이도 있 음)

names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
     ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
#    :     
l4 = []
for i in names:
  for j in i:
    if j.count('e') >= 2:
      l4.append(j)
print(l4)

#    :        
print([j for i in names for j in i if j.count('e') >= 2 ])
3.리스트 유도 식 의 장단 점
장점:
간편 하 다
단점:
가 독성 이 높 지 않 아,잘못 배열 하기 어렵다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기