Pemahaman Senarai Hari

Mary-Kate Olsen
Lepaskan: 2025-01-01 14:14:10
asal
781 orang telah melayarinya

Day-List Comprehension

Pemahaman Senarai:

Ia merupakan kaedah sintaksis yang elegan untuk mencipta atau memanipulasi senarai dalam satu baris kod.

Tulis atur cara untuk mencetak buah-buahan mengandungi huruf 'a'(menggunakan untuk gelung):

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

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

print(newlist)

Salin selepas log masuk
['apple', 'banana', 'mango']

Salin selepas log masuk

(Menggunakan pemahaman senarai):

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

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

Salin selepas log masuk
['apple', 'banana', 'mango']
Salin selepas log masuk

Tulis atur cara untuk mencari punca kuasa dua nombor yang diberi:

l = [10,20,30,40]
newlist = []

#using for 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)
Salin selepas log masuk
[100, 400, 900, 1600]
[100, 400, 900, 1600]
Salin selepas log masuk

Cari nombor serupa daripada 2 senarai dan nombor berbeza daripada 2 senarai yang sama:

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

#for loop
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])

Salin selepas log masuk
30 40 
[30, 40]
Salin selepas log masuk
1 = [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)

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

for num in l2:
    if num not in l1:
        print(num,end=' ')
Salin selepas log masuk
[10, 20, 50, 60]
10 20 50 60

Salin selepas log masuk

Tulis program untuk output yang diberikan dalam pendekatan komprehensif:

l1 = [1,2,3]
l2 = [5,6,7]
Output:[(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)

Salin selepas log masuk
[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]
Salin selepas log masuk

Tulis atur cara untuk output yang diberikan:
s = "a1b2c3"
keluaran: abc123

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

Salin selepas log masuk

Kaedah: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)
Salin selepas log masuk
abc123
Salin selepas log masuk

Tulis atur cara untuk output yang diberikan:

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

Salin selepas log masuk
aeknbd
Salin selepas log masuk

Tugas:

1) Tulis program untuk mendapatkan output 'abbbbklllbcc'

s = "a4k3b2"
i = 0

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

Salin selepas log masuk
abbbbklllbcc
Salin selepas log masuk

2) Tulis program untuk mendapatkan output 'aaaakkkkbbb'

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
Salin selepas log masuk
aaaaakkkkbbb

Salin selepas log masuk

3.Sertai matriks yang diberikan ke dalam senarai tunggal menggunakan gelung komprehensif untuk dan biasa.

Kaedah:1(Menggunakan untuk gelung)

matrix = [[10,20,30], [40,50,60], [70,80,90]]
output=[]

for i in matrix:
    for j in i:
        output.append(j)
print(output)

Salin selepas log masuk

Kaedah:2(Menggunakan komprehensif untuk gelung)

matrix = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]

output = [j for i in matrix for j in i]
print(output)

Salin selepas log masuk
[10, 20, 30, 40, 50, 60, 70, 80, 90]

Salin selepas log masuk

4.l = ['ABC','DEF', 'GHI', 'JKL']
Dapatkan OUTPUT: ['ABC', 'def','GHI', 'jkl']

l = ['ABC', 'DEF', 'GHI', 'JKL']

output = [] 
for i, alpha in enumerate(l):
    if i % 2 != 0:
        output.append(alpha.casefold())
    else:
        output.append(alpha)
print(output)
Salin selepas log masuk
['ABC', 'def', 'GHI', 'jkl']

Salin selepas log masuk

5.Cari jumlah mengikut baris untuk matriks yang diberikan:

matrix = [[10,20,30], 
          [40,50,60], 
          [70,80,90]]
for inner in matrix:
    total = 0
    for index,num in enumerate(inner):
        total+=num
    print(total,end=' ')

Salin selepas log masuk
60 150 240
Salin selepas log masuk

Atas ialah kandungan terperinci Pemahaman Senarai Hari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan