Python __ ул. __ и списки

для такой задачи вы можете использовать FILTER с MATCH или COUNTIF

=FILTER(A1:A, MATCH(A1:A, B1:B, 0))

=FILTER(A1:A, COUNTIF(B1:B, A1:A))

и для обратной логики:

=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))

=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))

и, возможно, обернуть его в [ 115] если вам нужно

103
задан bobince 7 April 2009 в 22:45
поделиться

6 ответов

Вызов строки в списке Python звонит __repr__ метод на каждом элементе внутри. Для некоторых объектов, __str__ и __repr__ то же. Если Вы хотите то поведение, сделайте:

def __str__(self):
    ...
def __repr__(self):
    return self.__str__()
128
ответ дан David Berger 24 November 2019 в 04:20
поделиться

Можно использовать понимание списка для генерации нового списка с каждой ул. объекта () 'd автоматически:

print([str(item) for item in mylist])
21
ответ дан Dan Lew 24 November 2019 в 04:20
поделиться

В зависимости от того, что Вы хотите использовать тот вывод для, возможно __repr__ могло бы быть более соответствующим:

import unittest

class A(object):
    def __init__(self, val):
        self.val = val

    def __repr__(self):
        return repr(self.val)

class Test(unittest.TestCase):
    def testMain(self):
        l = [A('a'), A('b')]
        self.assertEqual(repr(l), "['a', 'b']")

if __name__ == '__main__':
    unittest.main()
4
ответ дан Horst Gutmann 24 November 2019 в 04:20
поделиться

Две легких вещи можно сделать, использование map функционируйте или используйте понимание.

Но это получает Вас список строк, не строки. Таким образом, также необходимо присоединиться к строкам вместе.

s= ",".join( map( str, myList ) )

или

s= ",".join( [ str(element) for element in myList ] )

Затем можно распечатать этот составной строковый объект.

print 'my list is %s'%( s )
7
ответ дан S.Lott 24 November 2019 в 04:20
поделиться

Я соглашаюсь с предыдущим ответом об использовании пониманий списка, чтобы сделать это, но Вы могли, конечно, скрыть это позади функции, если это - то, что пускает в ход Вашу лодку.

def is_list(value):
    if type(value) in (list, tuple): return True
    return False

def list_str(value):
    if not is_list(value): return str(value)
    return [list_str(v) for v in value]

Только для забавы, я сделал list_str () рекурсивно ул. () все содержавшее в списке.

3
ответ дан Jeremy Cantrell 24 November 2019 в 04:20
поделиться

Что-то вроде этого?

a = [1, 2 ,3]
[str(x) for x in a]
# ['1', '2', '3']
0
ответ дан WhatIsHeDoing 24 November 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: