Hướng dẫn list of n numbers python - danh sách n số python

Tôi đã đếm một cái gì đó và nó đã đến với N.

Bây giờ tôi muốn có một danh sách, chứa 1 đến N số trong đó.

Example:

N = 5

Sau đó,

import random
...
random.choice[mylist]
3

Ngoài ra, một khi tôi đã tạo danh sách, tôi muốn chọn ngẫu nhiên một số từ danh sách đó và sử dụng số đó.

Sau đó, tôi muốn chọn một số khác từ các số còn lại của danh sách [N-1] và sau đó cũng sử dụng nó.

Điều này đi trên nó danh sách trống rỗng.

txemsukr

9871 Huy hiệu vàng8 Huy hiệu bạc31 Huy hiệu đồng1 gold badge8 silver badges31 bronze badges

hỏi ngày 27 tháng 9 năm 2011 lúc 10:00Sep 27, 2011 at 10:00

5

Bạn có thể tạo sự liệt kê của các yếu tố bằng một cái gì đó như thế này:

mylist = list[xrange[10]]

Sau đó, bạn có thể sử dụng chức năng

import random
...
random.choice[mylist]
4 để chọn các mục của bạn:

import random
...
random.choice[mylist]

Như Asim Ihsan đã tuyên bố chính xác, câu trả lời của tôi đã không giải quyết toàn bộ vấn đề của OP. Để xóa các giá trị khỏi danh sách, chỉ có thể được gọi là

import random
...
random.choice[mylist]
5:

import random
...
value = random.choice[mylist]
mylist.remove[value]

Như Takataka đã chỉ ra, chức năng tích hợp

import random
...
random.choice[mylist]
6 được đổi tên thành
import random
...
random.choice[mylist]
7 trong Python 3.

Đã trả lời ngày 27 tháng 9 năm 2011 lúc 10:04Sep 27, 2011 at 10:04

ConstantiniusconstantiniusConstantinius

33.5K7 Huy hiệu vàng75 Huy hiệu bạc85 Huy hiệu Đồng7 gold badges75 silver badges85 bronze badges

1

Bạn có thể thử mã này

import random
N = 5
count_list = range[1,N+1]
random.shuffle[count_list]

while count_list:
    value = count_list.pop[]
    # do whatever you want with 'value'

Đã trả lời ngày 27 tháng 9 năm 2011 lúc 10:02Sep 27, 2011 at 10:02

1

Đối với phần đầu tiên:

>>> N = 5
>>> count_list = [i+1 for i in xrange[N]]
>>> count_list
[1, 2, 3, 4, 5]
>>>

Đối với lần thứ hai, đọc 9.6. ngẫu nhiên-Tạo số giả ngẫu nhiên.

>>> from random import choice
>>> a = choice[count_list]
>>> a
1
>>> count_list.remove[a]
>>> count_list
[2, 3, 4, 5]

Đó là ý tưởng chung.

Nhân tiện, bạn cũng có thể quan tâm đến việc đọc lựa chọn ngẫu nhiên các yếu tố trong danh sách, không có lặp lại [công thức Python].

Có một vài triển khai lựa chọn ngẫu nhiên nhanh.

Đã trả lời ngày 27 tháng 9 năm 2011 lúc 10:04Sep 27, 2011 at 10:04

ConstantiniusconstantiniusGandi

33.5K7 Huy hiệu vàng75 Huy hiệu bạc85 Huy hiệu Đồng2 gold badges20 silver badges31 bronze badges

Bạn có thể thử mã này

import random
items = ['foo', 'bar', 'baz']
print random.choice[items]

Đã trả lời ngày 27 tháng 9 năm 2011 lúc 10:02

Đối với phần đầu tiên:Sep 27, 2011 at 10:05

Đối với lần thứ hai, đọc 9.6. ngẫu nhiên-Tạo số giả ngẫu nhiên.patrys

Đó là ý tưởng chung.17 silver badges27 bronze badges

Nhân tiện, bạn cũng có thể quan tâm đến việc đọc lựa chọn ngẫu nhiên các yếu tố trong danh sách, không có lặp lại [công thức Python].

import random
random.choice[range[n]]

or:

random.choice[range[1,n+1]]

Có một vài triển khai lựa chọn ngẫu nhiên nhanh.

Đối với phần đầu tiên:Sep 27, 2011 at 10:05

Đối với lần thứ hai, đọc 9.6. ngẫu nhiên-Tạo số giả ngẫu nhiên.Guy

Đó là ý tưởng chung.27 gold badges66 silver badges87 bronze badges

Sau đó, tôi muốn chọn một số khác từ các số còn lại của danh sách [N-1] và sau đó cũng sử dụng nó.

Điều này đi trên nó danh sách trống rỗng.

txemsukr

9871 Huy hiệu vàng8 Huy hiệu bạc31 Huy hiệu đồng

hỏi ngày 27 tháng 9 năm 2011 lúc 10:00Sep 27, 2011 at 11:12

Bạn có thể tạo sự liệt kê của các yếu tố bằng một cái gì đó như thế này:Karl Knechtel

Sau đó, bạn có thể sử dụng chức năng

import random
...
random.choice[mylist]
4 để chọn các mục của bạn:10 gold badges86 silver badges132 bronze badges

Như Asim Ihsan đã tuyên bố chính xác, câu trả lời của tôi đã không giải quyết toàn bộ vấn đề của OP. Để xóa các giá trị khỏi danh sách, chỉ có thể được gọi là

import random
...
random.choice[mylist]
5:

s = set[range[1, 6]]
import random

while len[s] > 0:
  s.remove[random.choice[list[s]]]
  print[s]

Như Takataka đã chỉ ra, chức năng tích hợp

import random
...
random.choice[mylist]
6 được đổi tên thành
import random
...
random.choice[mylist]
7 trong Python 3.

import random
...
random.choice[mylist]
0

Đã trả lời ngày 27 tháng 9 năm 2011 lúc 10:04May 13, 2013 at 2:46

Constantiniusconstantiniuskiriloff

33.5K7 Huy hiệu vàng75 Huy hiệu bạc85 Huy hiệu Đồng36 gold badges142 silver badges220 bronze badges

Bạn có thể thử mã này

import random
...
random.choice[mylist]
1

Đã trả lời ngày 27 tháng 9 năm 2011 lúc 10:02

import random
...
random.choice[mylist]
2

Đã trả lời ngày 27 tháng 9 năm 2011 lúc 10:02Sep 27, 2011 at 10:02

Đối với phần đầu tiên:pvoosten

Đối với lần thứ hai, đọc 9.6. ngẫu nhiên-Tạo số giả ngẫu nhiên.26 silver badges41 bronze badges

1

Bài Viết Liên Quan

Chủ Đề