Internet of Things (IoT) devices have been widely deployed to build smart cities. How to efficiently collect data from large-scale IoT devices is a valuable and challenging research topic. Benefiting from agility, flexibility, and deployability, an unmanned aerial vehicle (UAV) has great potential to be an aerial base station. However, given the limited battery capacity, the flight time of a UAV is limited. This paper focuses on using multi-UAVs to execute long-distance data collection from large-scale IoT devices. We design a multi-UAVs-assisted large-scale IoT data collection system. The core facilities of this system are the data center and charging stations, which are equipped with a limited number of charging piles to provide charging services for UAVs. To ensure the efficient operation of the system, the problem of deployment and flight planning of UAVs is formulated as a joint optimization problem. To solve the problem, a population-based optimization algorithm with a three-layer structure, namely EDDE-DPDE, is proposed. It includes two core components: elite-driven differential evolution (EDDE) and differential evolution with a dynamic population (DPDE), which are two variants of differential evolution. Thanks to ideas of reusing elite individuals and historical information, the proposed EDDE-DPDE shows an improvement of at least 11.11% compared with four powerful algorithms in terms of average travel time.