簡體   English   中英

將一個列表的元素除以另一個列表的元素

[英]Dividing elements of one list by elements of another list

我有一個列表A=[1, 1, 1, 1]B=[2, 3, 4, 5] ,我想定義C=[50%, 33%, 25%, 20%] (即我將 A 的每個元素除以 B 的相應元素,然后將每個元素乘以 100 以獲得百分比)。

當試圖找出如何進行除法時,我遇到了: 將一個列表的元素除以另一個列表的元素,但這種情況比我需要的要復雜得多,所以我真的很困惑。

提前致謝!

C = [a/b*100 for a, b in zip(A,B)]
c = [a / b * 100 for (a, b) in zip(A, B)]

您可以使用自己的類和 dunder function 抽象出您的操作:

class AdvancedList(list):

    def __truediv__(self, other):
        result = [x / y for x, y in zip(self, other)]
        return result


A = AdvancedList([1, 1, 1, 1])
B = AdvancedList([2, 3, 4, 5])
print(A / B)

哪個產量

[0.5, 0.3333333333333333, 0.25, 0.2]

試試這個:

for i in range(len(A)):
    A[i] = str(A[i]/B[i] * 100) + "%"

將其轉換為字符串.... xx%

result = ["%.0f%%"%(a*100 / b) for a, b in zip(A, B)]
# ['50%', '33%', '25%', '20%']

注意:如果你不想四舍五入這個數字,

result = ["%.d%%"%(a*100 / b) for a, b in zip(A, B)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM