Đã hỏi 9 năm, 3 tháng trước 9 years, 3 months ago
Đã xem 1,7 triệu lần 1.7m times
Làm cách nào để tạo một danh sách tăng dần giữa hai giá trị? Ví dụ: danh sách từ 11 đến 16:
[11, 12, 13, 14, 15, 16]
Mateen Ulhaq
22.6K16 Huy hiệu vàng88 Huy hiệu bạc128 Huy hiệu đồng16 gold badges88 silver badges128 bronze badges
Hỏi ngày 16 tháng 8 năm 2013 lúc 4:43Aug 16, 2013 at 4:43
Sử dụng
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
1. Trong Python 2, nó trả về một danh sách trực tiếp:>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
Trong Python 3,
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
1 là một người lặp. Để chuyển đổi nó thành một danh sách:>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
Lưu ý: Số thứ hai trong
3 là độc quyền. Vì vậy, >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
4.:
The second number in >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
3 is exclusive. So, >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
4.Để tăng thêm các bước
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
5, hãy xem xét sử dụng Numpy's >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
6 và >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
7:>>> import numpy as np
>>> np.arange[11, 17, 0.5].tolist[]
[11.0, 11.5, 12.0, 12.5, 13.0, 13.5,
14.0, 14.5, 15.0, 15.5, 16.0, 16.5]
Xem: Làm cách nào để sử dụng giá trị bước thập phân cho phạm vi []?
Mateen Ulhaq
22.6K16 Huy hiệu vàng88 Huy hiệu bạc128 Huy hiệu đồng16 gold badges88 silver badges128 bronze badges
Hỏi ngày 16 tháng 8 năm 2013 lúc 4:43Aug 16, 2013 at 4:47
Sử dụng
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
1. Trong Python 2, nó trả về một danh sách trực tiếp:JaredTrong Python 3,
1 là một người lặp. Để chuyển đổi nó thành một danh sách:7 gold badges53 silver badges61 bronze badges>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
9
Lưu ý: Số thứ hai trong
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
3 là độc quyền. Vì vậy, >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
4.>>> x1=11
>>> x2=16
>>> range[x1, x2+1]
[11, 12, 13, 14, 15, 16]
>>> list1 = range[x1, x2+1]
>>> list1
[11, 12, 13, 14, 15, 16]
Để tăng thêm các bước
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
5, hãy xem xét sử dụng Numpy's >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
6 và >>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
7:>>> list2 = [x*0.5 for x in range[2*x1, 2*x2+1]]
>>> list2
[11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, 15.0, 15.5, 16.0]
Xem: Làm cách nào để sử dụng giá trị bước thập phân cho phạm vi []?Aug 16, 2013 at 4:46
Mateen Ulhaqdevnull
Đã trả lời ngày 16 tháng 8 năm 2013 lúc 4:4733 gold badges227 silver badges219 bronze badges
1
Try:
range[x1, x2+1]
Jaredjared
list[range[x1, x2+1]]
24.8K7 Huy hiệu vàng53 Huy hiệu bạc61 Huy hiệu Đồng
Bạn dường như đang tìm kiếm
8:9 gold
badges51 silver badges119 bronze badges>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
Để tăng thêm
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
5 thay vì >>> import numpy as np
>>> np.arange[11, 17, 0.5].tolist[]
[11.0, 11.5, 12.0, 12.5, 13.0, 13.5,
14.0, 14.5, 15.0, 15.5, 16.0, 16.5]
0, giả sử:Aug 16, 2013 at 4:49
Đã trả lời ngày 16 tháng 8 năm 2013 lúc 4:46Mike Housky
Devnulldevnull1 gold badge17 silver badges31 bronze badges
Huy hiệu vàng 114K33
def frange[start, stop, step=1.0]:
''' "range[]" like function which accept float type'''
i = start
while i < stop:
yield i
i += step
# Generate one element at a time.
# Preferred when you don't need all generated elements at the same time.
# This will save memory.
for i in frange[1.0, 2.0, 0.5]:
print i # Use generated element.
# Generate all elements at once.
# Preferred when generated list ought to be small.
print list[frange[1.0, 10.0, 0.5]]
Output:
1.0
1.5
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5]
Đó là một danh sách trong Python 2.x và hoạt động chủ yếu giống như một danh sách trong Python 3.x. Nếu bạn đang chạy Python 3 và cần một danh sách mà bạn có thể sửa đổi, thì hãy sử dụng:Mar 15, 2016 at 3:21
Ah bonRajesh Surana
8.6539 Huy hiệu vàng51 Huy hiệu bạc119 Huy hiệu đồng1 gold badge9 silver badges15 bronze badges
1
Đã trả lời ngày 16 tháng 8 năm 2013 lúc 4:49
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
0Mike Houskymike Housky
Hỏi ngày 16 tháng 8 năm 2013 lúc 4:43Aug 16, 2013 at 4:47
v2bv2bv2b
Sử dụng
1. Trong Python 2, nó trả về một danh sách trực tiếp:9 silver badges14 bronze badges>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
Trong Python 3,
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
1 là một người lặp. Để chuyển đổi nó thành một danh sách:>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
1
24.8K7 Huy hiệu vàng53 Huy hiệu bạc61 Huy hiệu Đồng
Bạn dường như đang tìm kiếm
8:9 gold badges51 silver badges119 bronze badges>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
Xem: Làm cách nào để sử dụng giá trị bước thập phân cho phạm vi []?Aug 16, 2013 at 4:46
4
Mateen Ulhaq
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
2Đã trả lời ngày 16 tháng 8 năm 2013 lúc 4:47
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
3Jaredjared
24.8K7 Huy hiệu vàng53 Huy hiệu bạc61 Huy hiệu ĐồngJun 4, 2019 at 19:01
Bạn dường như đang tìm kiếm
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
8:>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
4Để tăng thêm
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
5 thay vì >>> import numpy as np
>>> np.arange[11, 17, 0.5].tolist[]
[11.0, 11.5, 12.0, 12.5, 13.0, 13.5,
14.0, 14.5, 15.0, 15.5, 16.0, 16.5]
0, giả sử:Đã trả lời ngày 16 tháng 8 năm 2013 lúc 4:46Aug 3, 2020 at 21:25
DevnulldevnullJose
Huy hiệu vàng 114K3318 silver badges19 bronze badges
Đó là một danh sách trong Python 2.x và hoạt động chủ yếu giống như một danh sách trong Python 3.x. Nếu bạn đang chạy Python 3 và cần một danh sách mà bạn có thể sửa đổi, thì hãy sử dụng:
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
5Ah bon
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
68.6539 Huy hiệu vàng51 Huy hiệu bạc119 Huy hiệu đồng
Đã trả lời ngày 16 tháng 8 năm 2013 lúc 4:49Jan 11, 2018 at 11:22
Mike Houskymike HouskyMichael
Huy hiệu vàng 3.9011 Huy hiệu bạc17 Huy hiệu đồng1 gold badge34 silver badges53 bronze badges
2
Nếu bạn đang tìm kiếm hàm như chức năng hoạt động cho loại float, thì đây là một bài viết rất hay.
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
7Đã trả lời ngày 15 tháng 3 năm 2016 lúc 3:21
Rajesh Suranarajesh Surana: now step may be negative. Thanks @Michael for his comment.
7931 Huy hiệu vàng9 Huy hiệu bạc15 Huy hiệu đồngDec 4, 2017 at 15:42
Giả sử bạn muốn có một phạm vi giữa x đến yDenis Rasulev
sử dụng danh sách cho hỗ trợ 3.x4 gold badges34 silver badges43 bronze badges
5
1.4169 huy hiệu bạc14 huy hiệu đồng
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
8Sử dụng danh sách hiểu trong Python. Vì bạn cũng muốn 16 trong danh sách .. Sử dụng x2+1. Hàm phạm vi không bao gồm giới hạn cao hơn trong hàm.
>>> range[11, 17]
[11, 12, 13, 14, 15, 16]
9Trong Python, bạn có thể làm điều này rất vui vẻJun 18, 2020 at 13:50
Hoặc bạn có thể tạo một hàm đệ quy trả về một mảng lên đến một số đã cho:YTZ
Đầu ra: AR = [10,9,8,7,6,5,4,3,2,1,0]7 silver badges22 bronze badges
Đã trả lời ngày 4 tháng 6 năm 2019 lúc 19:01
Tôi đã đến đây vì tôi muốn tạo một phạm vi từ -10 đến 10 với mức tăng 0,1 bằng cách sử dụng danh sách hiểu. Thay vì thực hiện một chức năng quá phức tạp như hầu hết các câu trả lời ở trên, tôi chỉ làm điều này
>>> list[range[11, 17]]
[11, 12, 13, 14, 15, 16]
0Bằng cách thay đổi số lượng phạm vi thành 100, bây giờ tôi nhận được phạm vi từ -10 đến 10 bằng cách sử dụng hàm phạm vi tiêu chuẩn. Vì vậy, nếu bạn cần nó bằng 0,2 thì chỉ cần phạm vi [-200, 200], v.v.Oct 1, 2021 at 13:13