[英]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.