【问题标题】:Add quote to every item in a Python List为 Python 列表中的每个项目添加引号
【发布时间】:2017-12-17 00:06:29
【问题描述】:

我有以下来自 BeautifulSoup 的 Python 列表(例如):

[Basketball, Ipad Pro, Macbook Pro, Racket]

我需要为列表中的每一项添加报价,如下所示:

['Basketball', 'Ipad Pro', 'Macbook Pro', 'Racket']

我尝试了几种方法,但都没有得到正确的结果。

实际脚本:

from bs4 import BeautifulSoup

products =[]
prices = []
for page in range(1,9):
    url = 'https://www.lelong.com.my/catalog/all/list?TheKeyword=ipad+pro&D='+str(page)
    r = requests.get(url)
    prices.extend([price.find('b') for price in soup.find_all('span',{'class':'price pull-right'})])
    products.extend([title.find('b') for title in soup.find_all('div',{'class':'summary'})])

对于产品,我得到了如上所示的列表。

【问题讨论】:

  • 向我们展示您的代码
  • 你最初是如何构建那个 string 的?生成一个有效的列表而不是一个看起来模糊地像列表表示的字符串通常是一个好主意。
  • [Basketball, Ipad Pro, Macbook Pro, Racket]怎么可能是一个列表?
  • 第一个列表不是有效的 Python,您的实际输入和预期输出是什么?
  • 添加了实际代码

标签: python regex beautifulsoup


【解决方案1】:

您的列表[Basketball, Ipad Pro, Macbook Pro, Racket] 在python 中无效list。您可以尝试以这种方式为 Python 列表中的每个项目添加引号:

arr = ['Basketball', 'Ipad Pro', 'Macbook Pro', 'Racket']
A = []
for x in arr:
    A.append("'" + x + "'")
print(A)
# output : 
# A = ["'Basketball'", "'Ipad Pro'", "'Macbook Pro'", "'Racket'"]

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2011-10-08
    • 1970-01-01
    • 2017-02-11
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多