我正在用Bash编写脚本。
我的关联数组存在问题,当我在数组中放入一条记录时:
# -*- coding: utf-8 -*-
import scrapy
class ExampleSpider(scrapy.Spider):
name = 'example'
allowed_domains = ['www. example.com']
start_urls = ['http://www.example.com/',
]
def parse(self, response):
for article in response.css('.main-news'):
yield {
'title' : article.css('.article-title h1::text').extract(),
'time' : article.css('.article-time time::text').extract(),
'another' : article.css('.article-source::text').extract(),
'section' : response.xpath('/html/body/div[3]/div/div/div[1]/ol/li[2]/a//text()').extract(),
'article' : article.css('.article-text p::text').extract() }
for next_page in response.css('a::attr(href)'):
yield response.follow(next_page, self.parse)
我将文本放在循环中的关联数组中(将文本排序):
declare -A arr_list_people_name
我读取数组的方式:
arr_list_people_name[$peopleId]+=$peopleName
与我记录的方式相比,我的列表顺序不同。但是,我希望找到与我在数组中记录它的方式相同的顺序(按值或键排序)。
你知道如何管理吗?
答案 0 :(得分:1)
您需要使用第二个索引数组按照将其添加到arr_list_people_name
的顺序存储密钥。
...
arr_list_people_name[$peopleId]+=$peopleName
arr_order+=("$peopleId")
...
for id in "${arr_order[@]}"; do
echo "Key: $id"
echo "Value: ${arr_list_people_name[$id]}"
done