需要数组的第一个项目,但只得到第一个字母

时间:2020-06-10 17:55:44

标签: python arrays list

你好,我有一个问题,我有一个列表,我需要它的第一个项目。我听起来很简单,但找不到解决方案。在列表中,第一个项目始终是一个数字,但我不知道该数字有多长,因此它可能是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])

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

1 个答案:

答案 0 :(得分:1)

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

 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])

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

相关问题