tôi trình bày mã này dựa trên Peter Hoffmann's answer như một phản ứng để dfa's comment.
Nó được đảm bảo để làm việc có hay không tuple của bạn có một số nguyên tố.
[(tup[i], tup[i+1]) for i in range(0, (len(tup)/2)*2, 2)]
Tham số phạm vi (len(tup)/2)*2
tính toán số chẵn cao nhất ít hơn hoặc bằng chiều dài của tuple vì vậy nó được đảm bảo để làm việc hay không tuple có một số chẵn các yếu tố này.
Kết quả của phương pháp sẽ là danh sách. Điều này có thể được chuyển đổi thành bộ dữ liệu sử dụng hàm tuple()
.
mẫu:
def inPairs(tup):
return [(tup[i], tup[i+1]) for i in range(0, (len(tup)/2)*2, 2)]
# odd number of elements
print("Odd Set")
odd = range(5)
print(odd)
po = inPairs(odd)
print(po)
# even number of elements
print("Even Set")
even = range(4)
print(even)
pe = inPairs(even)
print(pe)
Output
Odd Set
[0, 1, 2, 3, 4]
[(0, 1), (2, 3)]
Even Set
[0, 1, 2, 3]
[(0, 1), (2, 3)]
Nguồn
2013-07-27 16:05:25
Bạn có thể không muốn một biến có tên tuple vì nó ghi đè chức năng tuple dựng sẵn(). – recursive