>백엔드 개발 >파이썬 튜토리얼 >Python 요일 목록 이해 - 연습

Python 요일 목록 이해 - 연습

Patricia Arquette
Patricia Arquette원래의
2024-12-30 17:33:11764검색

Python Day-List comprehension-Exercises

목록 이해

List Comprehension은 기존 목록의 값을 기반으로 새 목록을 생성하려는 경우 더 짧은 구문을 제공합니다. (참조-https://www.w3schools.com/python/python_lists_comprehension.asp)

예:1
방법:1

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)

방법:2(종합)

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]
print(newlist)

출력:

['apple', 'banana', 'mango']

예:2

l = [10,20,30,40]
newlist = []
#using normal loop
for num in l:
    newlist.append(num**2)
print(newlist)

#using loop in comprehensive way
newlist = [num**2 for num in l]
print(newlist)

출력:

[100, 400, 900, 1600]
[100, 400, 900, 1600]

운동:
1.목록 2개에서 비슷한 숫자를 찾아보고, 같은 목록 2개에서 다른 숫자를 찾아보세요.
l1 = [10,20,30,40]
l2 = [30,40,50,60]
다음 출력을 얻으세요:
가) 30,40

#30,40
l1 = [10,20,30,40]
l2 = [30,40,50,60]
#normal method

for num in l1:
    for no in l2:
        if num== no:
            print(num,end=' ')
#comprehensive

print([num for num in l1 for no in l2 if num==no])

출력:

[30, 40]

b) 10,20,50,60

l1 = [10,20,30,40]
l2 = [30,40,50,60]
#comprehensive
output = [num for num in l1 if num not in l2]

output = output + [num for num in l2 if num not in l1]
print(output)

#normal method
for num in l1:
    if num not in l2:
        print(num,end=' ')

for num in l2:
    if num not in l1:
        print(num,end=' ')

출력:

[10, 20, 50, 60]
10 20 50 60 

2. 포괄적인 접근 방식으로 주어진 출력에 대한 프로그램 찾기
l1 = [1,2,3]
l2 = [5,6,7]
출력:[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6) , (3, 7)]

l1 = [1,2,3]
l2 = [5,6,7]

l = [(i,j) for i in l1 for j in l2 if i!=j]
print(l)

출력:

[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]

3. 주어진 출력에 대한 프로그램 찾기:
s = "a1b2c3"
출력: abc123

방법:1

s = "a1b2c3"

alpha_list = []
num_list = []

for letter in s:
    if letter.isalpha():
        alpha_list.append(letter)
    else:
        num_list.append(letter)

print("".join(alpha_list+num_list))

방법:2

s = "a1b2c3"
letter=''.join([i for i in s if i.isalpha()])
no=''.join([i for i in s if i.isdigit()])

print(letter+no)

출력:

abc123

4. 주어진 출력에 대한 프로그램 찾기:

s = "a4k3b2"
출력: aeknbd

s = "a4k3b2"
i = 0 
while i<len(s):
    first = s[i]
    second = int(s[i+1])
    print(first, chr(ord(first)+second),sep='',end='')
    i+=2

출력:

액앤비

설명:

-->ord(first)를 사용하여 first의 ASCII 값을 구하고, 여기에 second를 더해 새로운 문자를 찾습니다.
-->ord()는 ASCII 값을 찾는 데 사용됩니다.
-->chr()은 ASCII 값-->문자를 변환합니다.

위 내용은 Python 요일 목록 이해 - 연습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.