Типы данных Python
Числа имеют четыре типа в Python. Int, float, сложный и длинный.
int_num = 10 #int value float_num = 10.2 #float value complex_num = 3.14j #complex value long_num = 1234567L #long value
Тип данных String
Строка идентифицируется как непрерывный набор символов, представленных в кавычках. Python допускает пары одинарных или двойных кавычек. Строки имеют тип данных неизменяемой последовательности, т.е. каждый раз, когда кто-либо вносит какие-либо изменения в строку, создается совершенно новый строковый объект.
a_str = 'Hello World' print(a_str) #output will be whole string. Hello World print(a_str[0]) #output will be first character. H print(a_str[0:5]) #output will be first five characters. Hello
Тип данных списка
Список содержит элементы, разделенные запятыми и заключенные в квадратные скобки []. Списки почти аналогичны массивам в C. Одно отличие состоит в том, что все элементы, принадлежащие списку, могут иметь различный тип данных.
list = [123,'abcd',10.2,'d'] #can be a array of any data type or single data type. list1 = ['hello','world'] print(list) #will ouput whole list. [123,'abcd',10.2,'d'] print(list[0:2]) #will output first two element of list. [123,'abcd'] print(list1 * 2) #will gave list1 two times. ['hello','world','hello','world'] print(list + list1) #will gave concatenation of both the lists. [123,'abcd',10.2,'d','hello','world']
Тип данных кортежа
Списки заключены в квадратные скобки [], и их элементы и размер могут быть изменены, а кортежи заключены в скобки () и не могут быть обновлены. Кортежи неизменны.
tuple = (123,'hello') tuple1 =('world') print(tuple) #will output whole tuple. (123,'hello') print(tuple[0]) #will output first value. (123) print(tuple + tuple1) #will output (123,'hello','world') tuple[1]='update' #this will give you error.
Тип данных словаря
Словарь состоит из пар ключ-значение. Он заключен в фигурные скобки <>, а значения можно назначать и получать к ним доступ в квадратных скобках [].
dic= print(dic) #will output all the key-value pairs. print(dic['name']) #will output only value with 'name' key. 'red' print(dic.values()) #will output list of values in dic. ['red',10] print(dic.keys()) #will output list of keys. ['name','age']
Установить типы данных
Наборы представляют собой неупорядоченные наборы уникальных объектов, существует два типа наборов:
Наборы — они изменчивы и новые элементы могут быть добавлены после определения наборов
basket = print(basket) # duplicates will be removed > a = set('abracadabra') print(a) # unique letters in a > a.add('z') print(a) >
Замороженные наборы — они неизменны, и новые элементы не могут быть добавлены после его определения.
b = frozenset('asdfagsa') print(b) > frozenset() cities = frozenset(["Frankfurt", "Basel","Freiburg"]) print(cities) > frozenset()
Что означают квадратные скобки в коде
Зачем нужны квадратные скобки в данном коде?
def total(initial=5, *numbers, **keywords): count = initial for number in numbers: count.

Что означают квадратные скобки [ ]
Господа, что означают квадратные скобки в таких выражениях, как const char text = или while.

Что означают квадратные скобки
Добрый день. Может не в той теме вопрос. Есть квадратные скобки . Как это работает? $ ls .
Что означают квадратные скобки в данной функции?
Вопрос может покажется и глупым, но подскажите, что означают квадратные скобки в данной функции.
В каких случаях пишутся квадратные скобки в Python? [закрыт]
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.
Закрыт 4 года назад .
В каких случаях пишутся квадратные скобки в Python?
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 16 янв 2019 в 18:06
Quiet Games Quiet Games
1 1 1 золотой знак 1 1 серебряный знак 2 2 бронзовых знака
В тех, где это допустимо по синтаксису и уместно в контексте решаемой задачи.
16 янв 2019 в 18:18
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Тогда, когда создается/используется список как тип данных, подробнее можешь почитать, загуглив «списки Python» или по ссылке.
Отслеживать
user262779
ответ дан 16 янв 2019 в 19:40
Артем Учуаткин Артем Учуаткин
11 1 1 бронзовый знак
В очереди проверок вам могут указать, что это ответ-ссылка. Я ответил «выглядит нормально», т.к. начало ответа пусть и кратко, но говорит про использование скобок в списках — из очереди проверок.
16 янв 2019 в 20:35
typing.Optional[typing.Dict[str, typing.List[int]]] немного не согласен с вами 🙂
16 янв 2019 в 20:40
@AK Спасибо большое 🙂
17 янв 2019 в 23:16
-
Важное на Мете
Похожие
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.21.1314
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Основы Python — кратко. Часть 3. Списки, кортежи, файлы.
Также следует заметить что это это, видимо, последний «простой урок», дальше я постараюсь углубиться во все аспекты программирования, которые мы прошли «по верхам» и продолжить более детально.
В общем, те кому не интересно — читают следующую новость, а остальных — прошу пройти .
Python для начинающих. Глава третья. «List, tuple, etc.»
Кортежи.
Кортежи (англ. tuple) используется для представления неизменяемой последовательности разнородных объектов. Они обычно записываются в круглых скобках, но если неоднозначности не возникает, то скобки можно опустить.
>>> t = (2, 2.05, "Hello") >>> t (2, 2.0499999999999998, 'Hello') >>> (a, b, c) = t >>> print a, b, c 2 2.05 Hello >>> z, y, x = t >>> print z, y, x 2 2.05 Hello >>> a=1 >>> b=2 >>> a,b=b,a >>> print a,b 2 1 >>> x = 12, >>> x (12,)
Как видно из примера, кортеж может быть использован и в левой части оператора присваивания. Значения из кортежа в левой части оператора присваивания связываются с аналогичными элементами правой части. Этот факт как раз и дает нам такие замечательные возможности как массовая инициализация переменных и возврат множества значений из функции одновременно. Последний пример демонстрирует создание кортежа из одного элмента (его часто называют синглтоном).
Списки
В Пайтоне отсутствуют массивы в традиционном понимании этого термина. Вместо них для хранения однородных (и не только) объектов используются списки. Они задаются тремя способами.
>>> a = [2, 2.25, "Python"] >>> a [2, 2.25, 'Python']
Преобразуем строку в список
>>> b = list("help") >>> b ['h', 'e', 'l', 'p']
Создание с помощью списковых включений. В данном случае мы берем кубы всех нечетных чисел от 0 до 19. Этому синтаксису я планирую посвятить отдельное занятие.
>>> c = [x ** 3 for x in range(20) if x%2==1] >>> c [1, 27, 125, 343, 729, 1331, 2197, 3375, 4913, 6859]
Для работы со списками определен ряд операторов и функций:
len(s) Длина последовательности s
x in s Проверка принадлежности элемента последовательности. В новых версиях Python можно проверять принадлежность подстроки строке. Возвращает True или False
x not in s = not x in s
s + s1 Конкатенация последовательностей
s*n или n*s Последовательность из n раз повторенной s. Если n < 0, возвращается пустая последовательность.
s[i] Возвращает i-й элемент s или len(s)+i-й, если i < 0
s[i:j:d] Срез из последовательности s от i до j с шагом d будет рассматриваться ниже
min(s) Наименьший элемент s
max(s) Наибольший элемент s
s[i] = x i-й элемент списка s заменяется на x
s[i:j:d] = t Срез от i до j (с шагом d) заменяется на (список) t
del s[i:j:d] Удаление элементов среза из последовательности
Кроме того, для списков определен ряд методов.
append(x) Добавляет элемент в конец последовательности
count(x) Считает количество элементов, равных x
extend(s) Добавляет к концу последовательности последовательность s
index(x) Возвращает наименьшее i, такое, что s[i] == x. Возбуждает исключение ValueError, если x не найден в s
insert(i, x) Вставляет элемент x в i-й промежуток
pop(i) Возвращает i-й элемент, удаляя его из последовательности
reverse() Меняет порядок элементов s на обратный
sort([cmpfunc]) Сортирует элементы s. Может быть указана своя функция сравнения cmpfunc
Для преобразования кортежа в список есть функция list, для обратной операции — tuple.
Об индексировании списков и выделении подпоследовательностей следует еще раз упомянуть отдельно (этот механизм работает аналогично и для строк). Для получения элемента используются квадратные скобки, в которых находится индекс элемента. Элементы нумеруются с нуля. Отрицательное значение индекса указывает на элементы с конца. Первый с конца списка (строки) элемент имеет индекс -1.
>>> s = [0, 1, 2, 3, 4] >>> print s[0], s[-1], s[3] 0 4 3 >>> s[2] = -2 >>> print s [0, 1, -2, 3, 4] >>> del s[2] >>> print s [0, 1, 3, 4]
Сложнее обстоят дела со срезами. Для получения срезов последовательности в Пайтоне принято указывать не номера элементов, а номера «промежутков» между ними. Перед первым элементом последовательности промежуток имеет индекс 0, перед вторым – 1 и так далее. Отрицательные значения отсчитывают элементы с конца строки.
В общем виде срез записывается в следующем виде:
список[начало: конец: шаг]
По умолчанию начало среза равно 0, конец среза равен len(список), шаг равен 1. Если шаг не указывается, второй символ «:» можно опустить.
С помощью среза можно указать подмножество для вставки списка в другой список, даже при нулевой длине. Это удобно для вставки списка в строго определенной позиции.
>>> l = range(12) >>> l [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] >>> l[1:3] [1, 2] >>> l[-1:] [11] >>> l[::2] [0, 2, 4, 6, 8, 10] >>> l[0:1]=[-1,-1,-1] >>> l [-1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] >>> del l[:3] >>> l [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Словари
Словарь (хэш, предопределенный массив) – изменяемая структура данных, предназначенная для хранения элементов вида ключ: значение. Все легко показывается на примере.
>>> h1 = >>> h2 = >>> h3 = #Цикл по паре ключ-значение >>> for key, value in h1.items(): . print key, " ", value . 1 one 2 two 3 three #Цикл по ключам >>> for key in h2.keys(): . print key, " ", h2[key] . 0 zero 5 five #Цикл по значениям >>> for v in h3.values(): . print v . 2 3 1 #Добавление элементов из другого хеша >>> h1.update(h3) #Количество пар в хеше >>> len(h1) 6
Тип file
Объекты этого типа предназначены для работы с внешними данными. Чаще всего данному объекту соответствует файл на диске, но это далеко не всегда так. Файловые объекты должны поддерживать основные методы: read(), write(), readline(), readlines(), seek(), tell(), close() и т.п.
Следующий пример показывает копирование файла:
f1 = open("file1.txt", "r") f2 = open("file2.txt", "w") for line in f1.readlines(): f2.write(line) f2.close() f1.close()
(этот пример можно записать массой других способов, многие из которых сильно отличаются по оптимальности, но это тоже тема отдельного разговора)
В принципе, большинству функций абсолютно безразлично, передан им объект типа файл, или любой другой объект с такими же методами. Так, приведенный выше пример можно очень легко модифицировать для скачивания файла из Интерне, заменив в нем первую строку на следующий код.
import urllib f1 = urllib.urlopen("http://python.onego.ru")
Задачи:
— Разработать программу «массовой закачки» URL-ов из файла urls.txt
— Разработать программу, скачивающую страницу по указанному URL со всем ее содержимым.
— Написать программу, которая получив на входе произвольный список удалит из него все повторяющиеся элементы.
