首页 > 解决方案 > 需要数组的第一项但只得到第一个字母

问题描述

你好我有一个问题我有一个清单,我需要它的第一个项目。我听起来很简单,但我找不到解决方案。列表中的第一项总是一个数字,但我不知道这个数字有多长,所以它可能是 54 或 761。这是一个示例代码:

for title1 in soup.select('h1'):
    title.append('645')
    title.append(*[title1.get_text(strip=True)]) 
with open('title.csv', 'w', newline='', encoding="utf-8") as csvfile:
        writer = csv.writer(csvfile, delimiter=';', quotechar=None, quoting=csv.QUOTE_NONE, escapechar='\\')
        for row in title:
            print(row[0])

问题是,如果我这样做,它只会给出第一个字母。

标签: pythonarrayslist

解决方案


您面临的问题是因为您正在访问标题列表中每个元素的第一个术语。当你使用:

 for row in title 

它会自动迭代该列表中的每个项目,因此您不必使用row[0]来访问第一个元素。在这里,我已经为您修复了代码:

for title1 in soup.select('h1'):
    title.append('645')
    title.append(*[title1.get_text(strip=True)]) 
with open('title.csv', 'w', newline='', encoding="utf-8") as csvfile:
        writer = csv.writer(csvfile, delimiter=';', quotechar=None, quoting=csv.QUOTE_NONE, escapechar='\\')
        for row in title:
            print(row)

但是您的这段代码会输出该列表中的所有内容,所以我要求 yopu 使用以下代码以仅获取第一个元素。

for title1 in soup.select('h1'):
    title.append('645')
    title.append(*[title1.get_text(strip=True)]) 
with open('title.csv', 'w', newline='', encoding="utf-8") as csvfile:
        writer = csv.writer(csvfile, delimiter=';', quotechar=None, quoting=csv.QUOTE_NONE, escapechar='\\')
        print(title[0])

快乐的编码...:):):)


推荐阅读