Как я могу получить доступ к списку в списке - PullRequest
0 голосов
/ 21 сентября 2019

Как получить доступ к значениям в списке списков?:

list_ = [[Bob, 13, 156], [Jonny, 24, 180]]

Скажите, я хочу найти человека в возрасте от 18 лет и старше, и если я сделаю этокак распечатать, если кто-то моложе или старше.

Я пытался использовать for-loops, но он не работает

Ответы [ 4 ]

0 голосов
/ 21 сентября 2019

pandas - лучший способ упорядочить ваши данные

  • pandas
  • strings, как Bob и Johnny, должныбыть окруженным '' или "".
  • Не используйте методы Python, такие как list, в качестве имени переменных (например, не называйте свои list, list), как в примере.
import pandas as pd

data = [['Bob', 13, 156], ['Jonny', 24, 180]]

df = pd.DataFrame(data, columns=['Name', 'Age', 'Weight'])

print(df)

  Name  Age  Weight
   Bob   13     156
 Jonny   24     180
over_18 = df[df.Age > 18]

print(over_18)

  Name  Age  Weight
 Jonny   24     180
0 голосов
/ 21 сентября 2019

вы можете сделать это так


ls = [["Bob", 13 ,156], ["Jonny", 24, 180]]

## this line loops through the ls and unpack the 3 values to variable names
## name, age and value. condition "if age>=18" filters user matching the condition  
_18_or_above = [name for name, age, value in ls if age>=18]

print(_18_or_above)

## this lines sort the list by first element of list item which is age
sorted_by_age = sorted(ls, key=lambda x: x[1])

print(sorted_user)

0 голосов
/ 21 сентября 2019

Если у вас одинаковая длина списка в списке, то ниже приведено решение

for x in enumerate (list):
    if x[1] >= 18:
        print(x[0])

Однострочный код для понимания списка

[x[0] for x in list if x[1] >= 18]
0 голосов
/ 21 сентября 2019

Вам просто нужно выполнить индекс индекса.

так, например, во вложенном списке

              [0]                 [1]
          [0]   [1]  [2]     [0]    [1]  [2]
list = [['Bob', 13 ,156], ['Jonny', 24, 180]]

list[0][0] = 'Bob'
list[1][2] = 180

Циклически повторяется, например,

for i in list:
    age = i[1]
    if age > 18:
        print("Age is greater than 18", i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...