KM
11 березня 2021 р. 13:37

продолжаеться война со списками, мне нужны только некоторые елементы со списка

мой список: SORTED [[[0.391, ‘J’], [0.366, ‘J’], [0.299, ‘7’], [0.234, ‘8’], [0.269, ‘8’], [0.239, ‘R’], [0.3, ‘K’], 2.098], [[0.384, ‘J’], [0.387, ‘J’], [0.282, ‘7’], [0.239, ‘8’], [0.25, ‘8’], [0.256, ‘R’], [0.357, ‘K’], 2.155], [[0.391, ‘J’], [0.379, ‘J’], [0.458, ‘7’], [0.235, ‘8’], [0.289, ‘8’], [0.275, ‘R’], [0.378, ‘K’], 2.4050000000000002], [[0.401, ‘J’], [0.462, ‘7’], [0.422, ‘J’], [0.287, ‘8’], [0.271, ‘8’], [0.286, ‘R’], [0.377, ‘K’], 2.5060000000000002], [[0.382, ‘J’], [0.35, ‘J’], [0.517, ‘7’], [0.36, ‘8’], [0.259, ‘8’], [0.331, ‘R’], [0.36, ‘K’], 2.5589999999999997], [[0.389, ‘J’], [0.348, ‘J’], [0.499, ‘7’], [0.369, ‘8’], [0.365, ‘8’], [0.289, ‘R’], [0.342, ‘K’], 2.601], [[0.352, ‘J’], [0.36, ‘J’], [0.627, ‘7’], [0.412, ‘8’], [0.258, ‘8’], [0.317, ‘R’], [0.383, ‘K’], 2.709]] по сути это список списков, и мне нужны с него буквы и последнее значение Примерно вот так: [[‘J’], [‘J’], [‘7’], [‘8’], [‘8’], [‘R’], [‘K’], 2.098], etc. Заранее спасибо! сам код списка:

def Sort(listy):

for index in listy:

l = len(listy)
for i in range(0, l):
    #for j in range(0, l):
    for j in range(0, l-i-1):
        if (listy[j][-1] > listy[j+ 1][-1]):
            temp = listy[j]
            listy[j]= listy[j + 1]
            listy[j + 1]= temp
return listy

print(Sort(listy))

sortedlist = Sort(listy)
print("SORTED", sortedlist)

2

Вам це подобається? Поділіться в соціальних мережах!

1
D
  • 11 березня 2021 р. 22:54
  • Відповідь була позначена як рішення.

Я не питунист, но как-то так:

listy = [
    [
        [0.391, 'J'],
        [0.366, 'J'],
        [0.299, '7'],
        [0.234, '8'],
        [0.269, '8'],
        [0.239, 'R'],
        [0.3, 'K'],
        2.098
    ],
    [
        [0.384, 'J'],
        [0.387, 'J'],
        [0.282, '7'],
        [0.239, '8'],
        [0.25, '8'],
        [0.256, 'R'],
        [0.357, 'K'],
        2.155
    ]
]

def rebuild_list(input_list):
    result_list = list()
    for l in input_list:
        current_sublist = list();
        for sl in l:
            if isinstance(sl, list) and len(sl) == 2:
                current_sublist.append(sl[1])
            else:
                current_sublist.append(sl)
        result_list.append(current_sublist)
    return result_list

new_list = rebuild_list(listy)

print(new_list)

# > [['J', 'J', '7', '8', '8', 'R', 'K', 2.098], ['J', 'J', '7', '8', '8', 'R', 'K', 2.155]]

    Коментарі

    Only authorized users can post comments.
    Please, Log in or Sign up