< chỉnh sửa> Nhờ tất cả những người đã trả lời cho đến nay. Zip và os.path.join thực sự hữu ích. Mọi góp ý về cách để liệt kê các quầy ở phía trước, mà không làm một cái gì đó như thế này:Vòng lặp Python có nhiều danh sách?
zip(range(len(files)), files, directories)
</chỉnh sửa>
Hi,
tôi trong quá trình học tập Python, nhưng tôi đến từ một nền tảng trong đó mã giả sau đây là điển hình:
directories = ['directory_0', 'directory_1', 'directory_2']
files = ['file_a', 'file_b', 'file_c']
for(i = 0; i < directories.length; i++) {
print (i + 1) + '. ' + directories[i] + '/' + files[i] + '\n'
}
# Output:
# 1. directory_0/file_a
# 2. directory_1/file_b
# 3. directory_2/file_c
Trong Python, cách tôi viết trên ngay bây giờ, sẽ là như thế này:
directories = ['directory_0', 'directory_1', 'directory_2']
files = ['file_a', 'file_b', 'file_c']
for i in range(len(directories)):
print '%s. %s/%s' % ((i + 1), directories[i], files[i]
# Output:
# 1. directory_0/file_a
# 2. directory_1/file_b
# 3. directory_2/file_c
Trong khi đọc Dive vào Python, Mark Pilgrim nói rằng việc sử dụng cho vòng lặp cho quầy là "Visual Basic kiểu suy nghĩ" (Simple Counters). Ông tiếp tục cho thấy làm thế nào để sử dụng vòng với từ điển, nhưng không bao giờ thực sự giải quyết một giải pháp python liên quan đến làm thế nào cho vòng lặp quầy thường được sử dụng trong các ngôn ngữ khác.
Tôi đã hy vọng ai đó có thể chỉ cho tôi cách viết đúng kịch bản ở trên bằng Python. Có thể làm điều đó theo một cách khác?
Nếu tôi lấy số lượng dòng gia tăng, có thể kết hợp hai danh sách lại với nhau bằng cách sử dụng một số loại hiểu danh sách không?
Ví dụ, nếu tất cả tôi muốn từ đầu ra được điều này (không có bộ đếm, là có thể với danh sách hiểu biết):
# Output:
# directory_0/file_a
# directory_1/file_b
# directory_2/file_c
Cảm ơn trước sự giúp đỡ nào.
tôi đã thêm một ví dụ với truy cập – SilentGhost
Tôi có thể gợi ý rằng đó là những "danh sách" không phải là "mảng", đó là một điểm nhỏ. –
@SilentGhost Cảm ơn rất nhiều, tôi đã đánh dấu câu trả lời của bạn là câu trả lời được chấp nhận. Tôi đánh giá cao sự giúp đỡ! @Ali Một điểm tốt, tôi đã cập nhật bài đăng của mình để nói "danh sách" thay vì "mảng". –