Ich muss die [', \ n \ xa0 Zeichen und die Jahre (1994) aus diesem Eintrag in der Liste entfernen und dann über die Liste iterieren, indem ich dies für jeden Eintrag tue. gibt es eine Möglichkeit, das kann ich tun? Ich bin ziemlich neu zu Python und haben stundenlangEntfernen bestimmter Zeichen aus den Einträgen in einer Liste
Die Einträge versucht, sind wie folgt:
[['The Shawshank Redemption\n(1994)\n\n\n 9.2\xa0\xa0\n\n'], ['The Godfather\n(1972)\n\n\n 9.2\xa0\xa0\n\n'], ['The Godfather: Part II\n(1974)\n\n\n 9.0\xa0\xa0\n\n'],
edit: sorry für den Code nicht einschließlich, iv verwaltet die Zahlen abzustreifen und die \ n Zeilenumbrüche nach dem Jahr. aber immer noch Newline-Charakter kurz nach dem Filmtitel. krank meinen Code anwyway Dank !: Paste
from bs4 import BeautifulSoup
import requests
import random
names = []
newList = []
url = 'http://m.imdb.com/chart/top'
# get contents from url
content = requests.get(url).content
# get soup
soup = BeautifulSoup(content,'lxml') # choose lxml parser
# find all the references
ref_tags = soup.findAll('span', { 'class' : 'media-body' })
realTags = soup.find_all("h4")
# iterate through the ResultSet
for i,ref_tag in enumerate(ref_tags):
# print text only
names.append('[{0}] {1}'.format(i,ref_tag.text))
pos = 0
for name in names:
newName = names[pos]
newName = newName[9:]
newName = newName[:100]
newName = newName.split("(")
newName = newName[::2]
del newName[2:9:3]
newList.append(newName)
pos = pos + 1
print(newList)
choice = random.choice(newList)
print(choice)
die Ausgabe wie folgt lautet:
[[ 'Die Verurteilten \ n'] [ 'Der Pate \ n'] [ 'The Godfather: Teil II \ n '], [' Der dunkle Ritter \ n '], ['12 Angry Men \ n']
Was haben Sie versucht, genau das nicht funktioniert hat? – nbro
Wie @nbro erwähnt, sollten Sie ein [minimales, vollständiges und überprüfbares Beispiel] hinzufügen (https://stackoverflow.com/help/mcve). – geostocker