Tujuan saya adalah menggunakan Python 3 untuk memeriksa apakah ada 3 huruf besar yang tumpang tindih antara list_a dan list_b, dan mencetak data yang tumpang tindih dari List_B. LIST_A = ["Apple123", "Banana3", & ...

2
cjeng2 6 April 2021, 01:41

2 jawaban

Jawaban Terbaik

Kode itu mencetak elemen dalam daftar 3 huruf. Anda mungkin terlebih dahulu mendapatkan indeks dan mencetak yang tumpang tindih dengan indeks yang sama dalam daftar asli.

# for i in List_A1:               # changes from here...
for i in range(len(List_A1)):   # per each index i in List_A1
    if List_A1[i] in List_B1:   # element i overlapped in List_B1
        print(List_A[i])        # print the item in List_A by same index
0
Simon 5 April 2021, 23:52

Jika saya mengerti apa yang ingin Anda capai, Anda dapat menyederhanakan kode Anda seperti ini:

List_A = ["apple123", "banana3", "345banana", "cat123", "apple456"]
List_B = ["apple123", "345123", "dog234", "apple4", "cat002345"]

set_a = set(List_A)
set_b = set(List_B)
# Get a list of all items in List_A that also are in List_B
intercepts = list(set_a.intersection(set_b)) # Returns ['apple123']

# Get 1 line for each intercepted item
# Prints a list of the matching items in List_B vs the previous intercept,
# taking only the first 3 letters

for intercept in intercepts:
    print([i for i in List_B if i[0:3] in intercept])

# This prints ['apple123', 'apple4']
1
Rodrigo A 5 April 2021, 23:02