Ini adalah bagian dari output program kami. Dalam output ini saya ingin mengekstrak "M. Abrar Hussain" dengan memanggil bagian indeks pertamanya "Nama:" dan untuk bagian output lainnya, jadi saya ingin solusi untuk ini jika memungkinkan. Perpustakaan Whoosh digunakan untuk pengindeksan di python sehingga perpustakaan ini dapat membantu.

['Name: M. Abrar Hussain  ', 'GPA: 3.5  ', 'Skills: Python, Laravel  ', 'Experience: 3 years ']
0
Abrar Hussain 5 Juli 2021, 12:48

4 jawaban

Jawaban Terbaik

Anda dapat mengubahnya menjadi kamus seperti ini:

split_lst = [i.split(': ',1 ) for i in lst]
d = { a : b.rstrip() for a,b in split_lst }

Kamus terlihat seperti ini:

{'Name': 'M. Abrar Hussain',
'GPA': '3.5',
'Skills': 'Python, Laravel',
'Experience': '3 years'}

Anda kemudian dapat menggunakannya seperti ini:

d["Name"] 

Untuk mendapatkan "M. Abrar Hussain"

Catatan:

  • Menggunakan split(': ',1) penting jika string berisi lebih dari satu ': '
  • rstrip digunakan untuk menghapus spasi tambahan dari string.
1
Christian Sloper 5 Juli 2021, 12:34

Dapatkan indeks karakter ":" dan berdasarkan irisan string itu dan gunakan fungsi strip untuk menghilangkan spasi putih

candidate = ['Name: M. Abrar Hussain  ', 'GPA: 3.5  ', 'Skills: Python, Laravel  ', 'Experience: 3 years ']

record = {}

for field in candidate:
    index = field.index(':')
    field_name = field[:index].strip()
    value=field[index+1:].strip()
    record[field_name]=value

field_input = input("Enter the field name")
print(record[field_name])

Keluaran

M. Abrar Hussain
0
Ashish M J 5 Juli 2021, 10:12

Jika Anda ingin mencetak seluruh bidang, gunakan

applicant=['Name: M. Abrar Hussain  ', 'GPA: 3.5  ', 'Skills: Python, Laravel  ', 'Experience: 3 years ']

print(applicant[0])

Akan mencetak nama Name: M. Abrar Hussain

Jika Anda hanya ingin mendapatkan nilai aktual (dengan saya menganggap konten setelah :), Anda dapat menggunakan metode split untuk mencetak bidang

applicant=['Name: M. Abrar Hussain  ', 'GPA: 3.5  ', 'Skills: Python, Laravel  ', 'Experience: 3 years ']

def GetField(index):
    print(applicant[index].split(':')[1])

GetField(0)

# Output:
# M. Abrar Hussain

Anda harus mempertimbangkan kelas atau kamus melalui array, karena array tidak memiliki cara untuk mengidentifikasi bidang selain indeks.

0
Kitten Lord 5 Juli 2021, 10:16
my_list = ['Name: M. Abrar Hussain  ', 'GPA: 3.5  ', 'Skills: Python, Laravel  ', 'Experience: 3 years ']
for item in my_list:
    x=item.split(':')[0].strip()
    y=item.split(':')[1].strip()
    my_map[x]=y
print(my_map)
print(my_map['Name'])

Kode di atas akan menghasilkan di bawah seperti yang diharapkan:

{'Experience': '3 years', 'Name': 'M. Abrar Hussain', 'GPA': '3.5', 'Skills': 'Python, Laravel'}
M. Abrar Hussain

Anda dapat menyimpan output di atas dalam kamus atau daftar lain sesuka Anda.

0
Bikorton 5 Juli 2021, 10:18