Cum se elimină „n” de la sfârșitul șirurilor de caractere dintr-o listă? [duplicat] (Programare, Python)

rggod a intrebat.

Am 2 șiruri de caractere aici:

line= ['ABDFDSFGSGA', '32
']
line= ['NBMVA
']

Cum pot elimina
de la sfârșitul acestor șiruri. Am încercat rstrip() și strip() dar tot nu reușesc să înlătur
din șir. Mă poate ajuta cineva să o scot?

Comentarii

  • Arată-ne codul real pe care l-ai încercat. Sunteți pe drumul cel bun… –  > Por mhlester.
  • încercați din nou map(str.rstrip, line) dă-mi ['ABDFDSFGSGA', '32'] –  > Por Guy Gavriely.
  • Indiciu: Nu ai șiruri, ci listă de șiruri. –  > Por thefourtheye.
  • am încercat line.remove(‘
    ‘), precum și line.rstrip(‘
    ‘), de asemenea line.strip() –  > Por rggod.
  • Mulțumesc, dar te rog să o editezi în întrebare, ca să vedem cu toții ce nu merge 🙂 –  > Por icedwater.
3 răspunsuri
Steinar Lima

Trebuie să accesezi elementul pe care vrei să îl elimini din listă:

line= ['ABDFDSFGSGA', '32
']

#We want to strip all elements in this list
stripped_line = [s.rstrip() for s in line]

Ceea ce s-ar putea să fi făcut greșit, este să apelați pur și simplu line[1].rstrip(). Acest lucru nu va funcționa, deoarece elementul rstrip nu funcționează inplace, ci returnează un nou șir de caractere care este eliminat.

Exemplu:

>>> a = 'mystring
'
>>> a.rstrip()
Out[22]: 'mystring'
>>> a
Out[23]: 'mystring
'
>>> b = a.rstrip()
>>> b
Out[25]: 'mystring'

Sayan Chowdhury

Tipul liniei este listă, deci nu puteți aplica niciuna dintre metodele strip metode. Metodele de separare sunt pentru șiruri de caractere.

În acest caz, trebuie să iterați lista și să aplicați rstrip() pe fiecare șir de caractere prezent în acea listă.

>>> line= ['ABDFDSFGSGA', '32
']
>>> map(str.rstrip, line)
['ABDFDSFGSGA', '32']

aidnani8

Puteți utiliza un .replace('
','')
dar rețineți doar că acest lucru va șterge toate instanțele de
Dacă vrei să faci acest lucru pentru întreaga listă, poți să faci:

line = [i.replace('
','') for i in line]

Comentarii

  • Fără downvote, dar acest lucru va elimina
    în mijlocul șirurilor, de asemenea, dacă line este un șir. –  > Por thefourtheye.
  • Acest lucru nu va face nimic la o listă… AttributeError: 'list' object has no attribute 'replace' –  > Por mhlester.
  • Îmi pare rău că nu m-am uitat cu atenție. Mi-am editat răspunsul pentru a funcționa pentru o listă. –  > Por aidnani8.
  • Nu vă faceți griji :). A fost una pe furiș! –  > Por mhlester.
  • OP afirmă că vrea să elimine
    de la capătul șirurilor, așa că nu sunt sigur dacă acest răspuns se potrivește cu această întrebare. –  > Por Steinar Lima.

Tags: