複数のリストがあるとしましょう:
A = [1]
B = [3, 2]
C = [5, 1, 6]
D = [7, 4, 18]
リストの長さを比較し、4 つのリストの中で最も長いリストを出力したい。したがって、この場合、出力は次のようになります。
A, D contain the longest list(s).
1つ1つ比較しようと思ったのですが、なかなか忙しくて書き出すのが非効率です。ユーザー定義関数を使用してこれを行う方法はありますか?
私はまだpythonに慣れていないので、脳死にしています...
def fishing():
global target_counter
target_counter = pHands_new[target].count(target_rank)
global card_counter
if target_counter >0:
for i in range(target_counter):
pHands_new[target].remove(target_rank)
for i in range(target_counter):
pHands_new[N].append(target_rank)
print "*"*70
print "HIT:", target_counter, "card(s) transferred"
print "*"*70
card_counter = pHands_new[N].count(target_rank)
if card_counter ==4:
for i in range(card_counter):
pHands_new[N].remove(target_rank)
pBooks(N)
else:
draw = GetTopCard(sDeck_new)
if draw == target_rank:
pHands_new[N].append(draw)
print "HIT: LUCKILY, You fished up the rank <"+draw+">"
card_counter = pHands_new[N].count(draw)
if card_counter ==4:
for i in range(card_counter):
pHands_new[N].remove(draw)
pBooks(N)
elif draw != target_rank:
pHands_new[N].append(draw)
print "MISS: You fished up the rank <"+draw+">"
card_counter = pHands_new[N].count(draw)
if card_counter ==4:
for i in range(card_counter):
pHands_new[N].remove(draw)
pBooks(N)
def pBooks(player):
books[player].append(target_rank)
ノート:
-pHands_new はネストされたリストで、pHands_new 内に 4 つのリストがあります。
-Nは現在のプレーヤーです
-target_rank は、他のプレイヤーのターゲットになっているカードです。
-Books は別のネストされたリストです。プレイヤーが同じカード/ランクを 4 枚持っている場合、それはプレイヤーの手札から取り除かれ、本に置かれます。
ここで比較しているリストは本[0] ....本[3]です