Heim >Backend-Entwicklung >Python-Tutorial >Python-Tageslisten-Verständnisübungen

Python-Tageslisten-Verständnisübungen

Patricia Arquette
Patricia ArquetteOriginal
2024-12-30 17:33:11770Durchsuche

Python Day-List comprehension-Exercises

Listenverständnis

List Comprehension bietet eine kürzere Syntax, wenn Sie eine neue Liste basierend auf den Werten einer vorhandenen Liste erstellen möchten. (siehe https://www.w3schools.com/python/python_lists_comprehension.asp)

Beispiel:1
Methode:1

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

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

print(newlist)

Methode:2 (umfassend)

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

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

Ausgabe:

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

Beispiel: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)

Ausgabe:

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

Übung:
1. Finden Sie ähnliche Nummern aus 2 Listen und unterschiedliche Nummern aus denselben 2 Listen.
l1 = [10,20,30,40]
l2 = [30,40,50,60]
Erhalten Sie diese Ausgabe:
a) 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])

Ausgabe:

[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=' ')

Ausgabe:

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

2. Finden Sie ein Programm für die gegebene Ausgabe in einem umfassenden Ansatz
l1 = [1,2,3]
l2 = [5,6,7]
Ausgabe:[(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)

Ausgabe:

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

3. Finden Sie das Programm für die angegebene Ausgabe:
s = "a1b2c3"
Ausgabe: abc123

Methode: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))

Methode: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)

Ausgabe:

abc123

4. Finden Sie das Programm für die angegebene Ausgabe:

s = "a4k3b2"
Ausgabe: 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

Ausgabe:

aeknbd

Erklärung:

-->Der ASCII-Wert von „first“ wird mit ord(first) ermittelt und „second“ wird hinzugefügt, um das neue Zeichen zu finden.
-->ord() wird verwendet, um den ASCII-Wert zu finden.
-->chr() konvertiert ASCII-Wert-->Zeichen.

Das obige ist der detaillierte Inhalt vonPython-Tageslisten-Verständnisübungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn