簡體   English   中英

列出包含 python 中的值的元素

[英]List the elements containing the value in python

我正在嘗試打印出包含特定值的列表。

fullint = []
students = [['Harry', 37.21], ['Berry', 37.21], ['Tina', 37], ['Akriti', 41], ['Harsh', 39]]
for k in students:
    fullint.append(k[1])

 fullint.sort()
 valuetobefound = fullint[1]

這里 valuetobefound 變量包含值 37.21。 我想要的只是打印列表['Harry', 37.21], ['Berry', 37.21] ,其中包含學生列表中的 37.21 值。 我努力了

for valuetobefound in students:
    print(valuetobefound)

但是這個 output 返回所有列表['Harry', 37.21], ['Berry', 37.21], ['Tina', 37], ['Akriti', 41], ['Harsh', 39]而不是['Harry', 37.21], ['Berry', 37.21] 我只需要包含值 37.21 的列表。 誰能指導我或告訴我實現這一目標的邏輯?..任何幫助將不勝感激。 謝謝你。

你可以這樣嘗試:

students = [['Harry', 37.21], ['Berry', 37.21], ['Tina', 37], ['Akriti', 41], ['Harsh', 39]]

some_list = []
for k in students:
    if k[1] == 37.21:
        some_list.append(k)
        
print(some_list) #[['Harry', 37.21], ['Berry', 37.21]]

之后some_list應該包含你想要的。

您可以使用列表推導來實現此結果,過濾掉每個與您的需求不匹配的元組。

>>> students = [['Harry', 37.21], ['Berry', 37.21], ['Tina', 37], ['Akriti', 41], ['Harsh', 39]]
>>> my_val = 37.21
>>> students_match = [(stud, val) for (stud, val) in students if val == my_val]
>>> students_match
[('Harry', 37.21), ('Berry', 37.21)]

暫無
暫無

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

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