Изменить столбцы textarea в запросе на медиа? [Дубликат]

Наивный подход может заключаться в том, чтобы взять набор перестановок:

list(set(it.permutations([1, 1, 1])))
# [(1, 1, 1)]

Однако этот метод расточительно вычисляет репликативные перестановки и отбрасывает их. Более эффективным подходом будет more_itertools.distinct_permutations , сторонний инструмент .

Код

import itertools as it

import more_itertools as mit


list(mit.distinct_permutations([1, 1, 1]))
# [(1, 1, 1)]

Производительность

Используя большую итерацию, мы сравним характеристики между наивными и сторонними методами.

iterable = [1, 1, 1, 1, 1, 1]
len(list(it.permutations(iterable)))
# 720

%timeit -n 10000 list(set(it.permutations(iterable)))
# 10000 loops, best of 3: 111 µs per loop

%timeit -n 10000 list(mit.distinct_permutations(iterable))
# 10000 loops, best of 3: 16.7 µs per loop

Мы видим, что more_itertools.distinct_permutations на порядок быстрее.


Подробности

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

136
задан isherwood 15 April 2015 в 13:49
поделиться

4 ответа

width и height используются при переходе на маршрут css.

<!DOCTYPE html>
<html>
    <head>
        <title>Setting Width and Height on Textareas</title>
        <style>
            .comments { width: 300px; height: 75px }
        </style>
    </head>
    <body>
        <textarea class="comments"></textarea>
    </body>
</html>
100
ответ дан Sampson 17 August 2018 в 10:23
поделиться
  • 1
    В соответствии с ответом пользователя2928048 ниже, если вы используете & quot; em & quot; а не "px" то вы можете указать ширину и высоту символов, как и для атрибутов «rows» и «cols». Я даже считаю, что работает с IE6. – Swanny 11 February 2014 в 23:36

Не думаю, что это возможно. Я всегда иду с высотой и шириной.

textarea{
width:400px;
height:100px;
}

хорошая вещь о том, как это сделать, - это то, что вы можете полностью ее подстроить. Теперь вы можете добавить такие вещи, как:

textarea{
width:400px;
height:100px;
border:1px solid #000000;
background-color:#CCCCCC;
}
16
ответ дан Code Monkey 17 August 2018 в 10:23
поделиться
<textarea rows="4" cols="50"></textarea>

Это эквивалентно:

textarea {
    height: 4em;
    width: 50em;
}

, где 1em эквивалентно текущему размеру шрифта, таким образом, область текста составляет 50 символов. см. здесь .

259
ответ дан jon 17 August 2018 в 10:23
поделиться
  • 1
    Это должен быть выбранный ответ. – a coder 6 February 2014 в 20:31
  • 2
    Чтобы быть более точным, вам нужно взять padding и line-height в учетной записи. Скажем, у вас есть отступы наполовину em вверху и внизу, а высота линии - 1,2 метра, тогда высота для 4 строк будет 1 + 4 * 1.2 = 5.8em. – nalply 18 February 2014 в 15:16
  • 3
  • 4
    Если у вас есть размер ячейки: content-box; вам не придется беспокоиться о дополнении, поэтому вы остаетесь только с высотой линии. – mikewasmike 21 April 2015 в 17:07
  • 5
    Это неверно: jsfiddle.net/x1nf3z4p/1 (проверено в Chrome и Safari) – Alexander Scholz 19 June 2015 в 10:32
  • 6
    Nice @nalply, спасибо за подход. Добавив немного к вашему ответу, функция calc () CSS3 может упростить вычисление ширины и высоты: скажем, у меня есть текстовое поле с padding-top и padding-bottom 4px, и я хочу, чтобы это было 3 строки высотой, высота была бы height: calc(3em + 8px);. – GBU 10 May 2017 в 13:47

Насколько я знаю, вы не можете.

Кроме того, это не то, что css в любом случае. Css для стилизации и HTML для разметки.

EDIT: Cool, я стоял исправлен.

4
ответ дан Moulde 17 August 2018 в 10:23
поделиться
  • 1
    CSS предназначен для визуализации визуального представления элемента. Это включает в себя ширину и высоту текстового поля. – Sampson 9 January 2010 в 20:07
  • 2
    Да, точно. Я не знал колосов и рядов, а ширина и высота были одинаковыми. – Moulde 9 January 2010 в 20:12
  • 3
    Moulde, вы правы в том, что они не точно одинаковы. Но они оба достигают той же цели :) – Sampson 9 January 2010 в 20:16
  • 4
    +1 для стоящего роста и наличия шаров, чтобы признать ошибку открыто! – Konrad Viltersten 6 June 2014 в 01:51
  • 5
    Они не совпадают, браузер учитывает высоту текста в каждой строке, включая line-height, padding на контейнере (не вычисляя высоту, основанную на box-sizing), даже принимая во внимание различные пропорции шрифтов используется для обеспечения того, чтобы текстовое поле отображало заданное количество строк текста, чего вы не можете достичь, используя высоту css. – William Isted 10 November 2016 в 10:58