「dictionary-valueiterator」グループがあります。グループのリストごとに、2 つ (またはそれ以上の値) をランダムにサンプリングし、新しいリストに保存します。
GroupsList = list([])
for m in Groups:
GroupsList.append(point_random_selection(m,n))
どこでpoint_random_selection
def point_random_selection(list,n):
if n == 0:
raise TypeError("The pulse density 0 is not iterable")
try:
sample_point = random.sample(list,n)
except ValueError:
sample_point = list
return sample_point
GroupsList = [[<liblas.point.Point object at 0x00000001363A0E10>],
[<liblas.point.Point object at 0x00000002CE52CB38>],
[<liblas.point.Point object at 0x00000000CF516908>],
[<liblas.point.Point object at 0x00000004293F9400>],
[<liblas.point.Point object at 0x0000000249F67C50>],
[<liblas.point.Point object at 0x0000000312D85A90>],
[<liblas.point.Point object at 0x000000047DF396A0>,
<liblas.point.Point object at 0x000000047DF14F98>]]
場合によっては、2つ以上のリストがあります(例:)
GroupsList[6]
[<liblas.point.Point object at 0x000000047DF396A0>,
<liblas.point.Point object at 0x000000047DF14F98>]
次のように2つ以上のliblas.point.Pointオブジェクトがある場合にも、1つずつ追加するために、1つのリストごとのリストを新しいリストに保存したいと思います。
GroupsList = [[<liblas.point.Point object at 0x00000001363A0E10>],
[<liblas.point.Point object at 0x00000002CE52CB38>],
[<liblas.point.Point object at 0x00000000CF516908>],
[<liblas.point.Point object at 0x00000004293F9400>],
[<liblas.point.Point object at 0x0000000249F67C50>],
[<liblas.point.Point object at 0x0000000312D85A90>],
[<liblas.point.Point object at 0x000000047DF396A0>],
[<liblas.point.Point object at 0x000000047DF14F98>]]
それはリスト内包表記が最善のアプローチですか? ex に挿入する
GroupsList.append(point_random_selection(m,n))