list1 = [1,2,3,4,] list2 = ['a','b','c','d'] 合并成 lis = [{1:'a'},{2:'b'},{3:'c'},{4:'d'}]
时间: 2023-12-25 20:03:17 浏览: 111
要将list1和list2合并成lis,你可以使用循环遍历两个列表并创建字典的方式。以下是一个示例代码:
```python
list1 = [1, 2, 3, 4]
list2 = ['a', 'b', 'c', 'd']
lis = []
for i in range(len(list1)):
lis.append({list1[i]: list2[i]})
print(lis)
```
输出结果为:
```
[{1: 'a'}, {2: 'b'}, {3: 'c'}, {4: 'd'}]
```
这样,你就成功将list1和list2合并成了lis列表。
相关问题
selector = parsel.Selector(html_data) lis = selector.css('.list_item h2 a::attr(href)').getall() details = [] for li in lis: detail_url = 'https://travel.qunar.com'+ li detail_html = requests.get(detail_url).text只能输出最后一个域名的网站
根据您提供的代码,您将多个域名与一个网站合并的方式是将多个 detail_url 存储在一个列表中,然后对列表进行循环遍历,依次发送请求获取每个网站的 html 数据。
在循环中,您使用 `detail_url = 'https://travel.qunar.com'+ li` 将当前遍历到的 li 和 'https://travel.qunar.com' 进行拼接,从而获取完整的 detail_url。但是,您没有将获取到的每个网站的 html 数据存储在一个列表中,而是每次都将获取到的 html 数据赋值给了 detail_html 变量,因此最终 detail_html 只会保存最后一个网站的 html 数据。
为了解决这个问题,您可以将每个网站的 html 数据存储在一个列表中,然后在循环结束后对列表进行处理。修改后的代码如下:
```python
selector = parsel.Selector(html_data)
lis = selector.css('.list_item h2 a::attr(href)').getall()
details = []
for li in lis:
detail_url = 'https://travel.qunar.com' + li
detail_html = requests.get(detail_url).text
details.append(detail_html)
# 对获取到的每个网站的 html 数据进行处理
for detail_html in details:
# 处理代码
pass
```
这样,每次获取到的网站的 html 数据都会被存储在 details 列表中,循环结束后可以对列表中的数据进行处理。
阅读全文