Результаты поиска по запросу "tuples"

15 ответов

Python: в чем разница между (1,2,3) и [1,2,3], и когда я должен использовать каждый?

Во многих местах(1,2,3) а также[1,2,3] могут быть использованы взаимозаменяемо. Когда я должен использовать один или другой, и почему?

10 ответов

Ваш пример не был хорошим примером кортежа, хотя, я согласен.

овой базе, где я работаю, есть объект Pair, где A и B являются типами первого и второго значений в паре. Я считаю этот объект оскорбительным, потому что он используется вместо объекта с четко именованными членами. Итак, я нахожу ...

8 ответов

Причина в том, что кортежи могут храниться в кеш-памяти, в отличие от списков. Программа всегда считывает из памяти ячейки списков, так как она изменчива (может измениться в любое время).

ли разница в производительности между кортежами и списками, когда дело доходит до создания и поиска элементов?

ТОП публикаций

13 ответов

Это простое решение работает для меня:

отрим случай шаблонной функции с аргументами шаблона variadic: template<typename Tret, typename... T> Tret func(const T&... t);Теперь у меня есть кортежt ценностей. Как мне позвонитьfunc() используя значения кортежа в качестве аргументов? Я ...

4 ответа

принятый ответ

то работаю со списками, последовательностями и итераторами кортежей и хотел бы сделать что-то вроде следующего: val arrayOfTuples = List((1, "Two"), (3, "Four")) arrayOfTuples.map { (e1: Int, e2: String) => e1.toString + e2 }Однако компилятор ...

4 ответа

или же

е F # у меня есть кортеж: let myWife=("Tijana",32)Я хочу получить доступ к каждому члену кортежа отдельно. Например, это то, чего я хочу достичь, я не могу Console.WriteLine("My wife is {0} and her age is {1}",myWife[0],myWife[1])Этот код явно ...

3 ответа

@gfxmonk: Тем не менее, перечислимые в Python больше похожи на списки, IMO, так как они могут быть произвольной длины, и сплат работает одинаково. В Haskell нельзя использовать функцию для работы с произвольными кортежами, если вы не используете глубокую магию.

hon и Ruby (и других, я уверен). Вы можете добавить префикс перечисления* ("splat"), чтобы использовать его в качестве списка аргументов. Например, в Python: >>> def foo(a,b): return a + b >>> foo(1,2) 3 >>> tup = (1,2) >>> foo(*tup) 3 Есть ли ...

1 ответ

Первая ссылка дает мне 404.

лл снова взорвал мой разум, когда я понял, что (x,y)Это просто синтаксический сахар для (,) x yЕстественно, я хотел расширить это на более крупные кортежи. Но (,) x ((,) y z)Дал мне (x,(y,z))Что было не то, что я искал. По своей прихоти я ...

6 ответов

@Dav Evans: Обновлено.

твует ли в .NET Framework 3.5 класс, эквивалентный .NET 4Кортеж [http://msdn.microsoft.com/en-us/library/system.tuple.aspx]? Я хотел бы использовать его для того, чтобы вернуть несколько значений из метода, а не создаватьstruct.

1 ответ

 а также

у неstd::unordered_map<tuple<int, int>, string> просто работать из коробки? Утомительно определять хеш-функцию дляtuple<int, int>например, template<> struct do_hash<tuple<int, int>> { size_t operator()(std::tuple<int, int> const& tt) const {...} ...