python入门(常见名词)
文章目录
列表List
1.语法为 [1, 2, …, n]。
#创建一个普通列表
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
#利用range()创建列表
x = list(range(10))
print(x, type(x)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'>
#利用推导式创建列表
x = [i for i in range(10, 1, -2)]
print(x, type(x)) # [10, 8, 6, 4, 2] <class 'list'>
x = [0] * 5
print(x, type(x)) # [0, 0, 0, 0, 0] <class 'list'>
- 【注意】:由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。即使保存一个简单的
[1,2,3]
,也有3个指针和3个整数对象。
x = [[0] * 3] * 4
print(x, type(x))
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] <class 'list'>
#创建一个混合列表
mix = [1, 'lsgo', 3.14, [1, 2, 3]]
print(mix, type(mix)) # [1, 'lsgo', 3.14, [1, 2, 3]] <class 'list'>
2.增 删 改
1.添加元素(append
, extend
)
- append与extend的区别:append是追加,把一个东西整体添加在列表后,长度加1; extend是扩展,把一个东西所有元素添加在列表后,长度加n;
x = ['Mon', 'Tue', 'Wedn', 'Thur', 'Fri']
x.append('Thurs','Sun')
print(len(x)) # 6
x.extend('Thurs','Sun')
print(len(x)) # 7
#['Mon', 'Tue', 'Wedn', 'Thur', 'Fri', 'Thurs','Sun']
2.插入元素(insert
)
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.insert(2, 'Sunday')
# ['Monday', 'Tuesday', 'Sunday', 'Wednesday', 'Thursday', 'Friday']
3.删除元素 (remove
, pop
)
- remove 和 pop都可以删除元素,前者是指定具体要删除的元素,后者是指定一个索引。
- del var1[, var2 ……] 删除单个或多个对象。
#x.remove('Monday')
#pop删除该元素并返回该值
#del删除多个对象,左闭右开
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
y = x.pop() # Friday
y = x.pop(0)
print(y) # Monday
y = x.pop(-2)
print(y) # Wednesday
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
del x[0:2]
print(x) # ['Wednesday', 'Thursday', 'Friday']
3.获取元素与常用操作符
1.索引=位置
- 通过元素的索引值,从列表获取单个元素,注意,列表索引值是从0开始的。
- 通过将索引指定为-1,可让Python返回最后一个列表元素,索引 -2 返回倒数第二个列表元素。
2.切片
- 通用写法是
start : stop : step
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(week[1:4:2]) # ['Tuesday', 'Thursday']
print(week[:4:2]) # ['Monday', 'Wednesday']
print(week[1::2]) # ['Tuesday', 'Thursday']
print(week[::-1])
# ['Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']
3.浅拷贝与深拷贝
list1 = [123, 456, 789, 213]
list2 = list1 #深拷贝
list3 = list1[:] #浅拷贝
print(list2) # [123, 456, 789, 213]
print(list3) # [123, 456, 789, 213]
list1.sort()
print(list2) # [123, 213, 456, 789]
print(list3) # [123, 456, 789, 213]
list1 = [[123, 456], [789, 213]]
list2 = list1
list3 = list1[:]
print(list2) # [[123, 456], [789, 213]]
print(list3) # [[123, 456], [789, 213]]
list1[0][0] = 111
print(list2) # [[111, 456], [789, 213]]
print(list3) # [[111, 456], [789, 213]]
4.常用操作符
- 等号操作符:
==
#只有成员、成员位置都相同时才返回True - 连接操作符
+
- 重复操作符
*
- 成员关系操作符
in
、not in
list5 = list3 * 3
print(list5) # [123, 456, 123, 456, 123, 456]
list3 *= 3
print(list3) # [123, 456, 123, 456, 123, 456]
print(123 in list3) # True
print(456 not in list3) # False
5.常用方法
-
list.count(obj) 统计某个元素在列表中出现的次数
-
list.index(x[, start[, end]]) 找出某个值第一个匹配项的索引位置
-
list.reverse() 反向列表的元素
-
list.sort( key=none, reverse=false)对原列表进行排序
list1 = [123, 456] * 5 num = list1.count(123) print(list1.index(123)) # 0 x = [123, 456, 789] x.reverse() # [789, 456, 123] x = [123, 456, 789, 213] x.sort() # [123, 213, 456, 789]
元组Tuple
1.定义()
语法:(1, 2, 3,…, n) #括号可省略
tuple1=(1,2,3,4,5,6,7,8)
print(tuple[1]) #2
print(tuple[5:]) #(6,7,8)
print(tuple[:5]) #(1,2,3,4,5)
tuple2=tuple1[:]
print(tuple2) # (1, 2, 3, 4, 5, 6, 7, 8)
【注意】
x = (1)
print(type(x)) # <class 'int'>
x = (1,)
print(type(x)) # <class 'tuple'>
【二维元组】
x=(0,1,2),(3,5)
print(x[0])
# (1, 10.31, 'python')
print(x[0][0:2])
# (1, 10.31)
2.更新和删除一个元组
week = ('Mon', 'Tues', 'Thurs', 'Fri')
week = week[:2] + ('Wednes',) + week[2:]
print(week) # ('Mon', 'Tues', 'Wednes', 'Thurs', 'Fri')
t1 = (1, 2, 3, [4, 5, 6])
print(t1) # (1, 2, 3, [4, 5, 6])
t1[3][0] = 9
print(t1) # (1, 2, 3, [9, 5, 6])
3.元组相关操作
==,+,*,in,not in
4.内置方法
元组内容大小都不可更改,只有count(个数), index(位置)方法。
t.count(n), t.index(n)
5.解压元组
应该是令某个变量为元组的元素
#解压二维数组
t = (1, 10.31, ('OK', 'python'))
(a, b, (c, d)) = t
print(a, b, c, d)
#想要元组的几个元素,用通配符*
t = 1, 2, 3, 4, 5
a, b, *rest, c = t
print(a, b, c) # 1 2 5
print(rest) # [3, 4]
字符串
1.定义
为符号之间的字符集合,支持单引号,双引号
2.常用转义字符
转义字符 | 描述 |
---|---|
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\n | 换行 |
\t | 横向制表符(TAB) |
\r | 回车 |
print('let\'s go') # let's go
print("let's go") # let's go
print('C:\\now') # C:\now
print("C:\Program Files\Intel\Wifi\Help")
#原始字符串只需要在前加 r
print(r'C:\Program Files\Intel\Wifi\Help')
3.切片与连接
字符串也可以看成一堆积木
str1 = 'I Love LsgoGroup'
print(str1[:6]) # I Love
print(str1[5]) # e
字典doct
前言:可变类型与不可变类型
定义:数据能够直接进行修改,如果能直接修改那么就是可变,否则是不可变。
可变不可变,是指内存中的那块内容(value)是否可以被改变。
i = 1
print(id(i)) # 140732167000896
i = i + 2
print(id(i)) # 140732167000960
l = [1, 2]
print(id(l)) # 4300825160
l.append('Python')
print(id(l)) # 4300825160
可变类型: 数字、字符串、元组、可变集合。
不可变类型: 列表、字典、不可变集合。
1.定义{}
字典 是无序的 键:值(key:value
)对集合,键必须是互不相同的(在同一个字典之内)。
- 字典 定义语法为
{元素1, 元素2, ..., 元素n}
- 其中每一个元素是一个「键值对」-- 键:值 (
key:value
)
dic = {'李宁': '一切皆有可能', '耐克': 'Just do it', '阿迪达斯': 'Impossible is nothing'}
print('耐克的口号是:', dic['耐克'])
# 耐克的口号是: Just do it
【构造函数创字典】
dic = dict()
dic['a'] = 1
dic['b'] = 2
dic['c'] = 3
print(dic)
# {'a': 1, 'b': 2, 'c': 3}
dic['a'] = 11
print(dic)
# {'a': 11, 'b': 2, 'c': 3}
2.字典的内置方法
-
dict.fromkeys(seq[, value])
用于创建一个新字典 -
dict.keys()
返回一个可迭代对象 -
dict.values()
返回一个迭代器 -
dict.items()
以列表返回可遍历的 (键, 值) 元组数组。 -
dict.get(key, default=None)
返回指定键的值。 -
dict.setdefault(key, default=None)
和get()
方法 类似 -
key in dict
in
操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回true
-
dict.clear()
用于删除字典内所有元素。 -
dict.copy()
返回一个字典的浅复制。
集合set
1.定义
与字典dict相似,也是一组key
的集合,但不存储value
。由于key
不能重复,所以,在set
中,没有重复的key
。
num = {}
print(type(num)) # <class 'dict'>
basket = set()
print(typr(basket)) #<class 'set'>
num = {1, 2, 3, 4}
print(type(num)) # <class 'set'>
- 特点 :无序,唯一 可去掉列表中重复元素
2.访问集合中的值
- 用
for item in s
可把数据一个个读出来 - 可以通过
in
或not in
判断一个元素是否在集合中已经存在
3.集合内置方法
-
set.add(elmnt)
用于给集合添加元素。 -
set.update(set1)
用于修改当前集合,比如添加set1。 -
set.remove(item)
用于移除集合中的指定元素。 -
set.discard(value)
用于移除指定的集合元素。remove()
方法在移除一个不存在的元素时会发生错误。 -
set.intersection(set1, set2)
返回两个集合的交集。 -
set1 & set2
返回两个集合的交集。(更广泛)
set.union(set1, set2)
返回两个集合的并集。set1 | set2
返回两个集合的并集。(更广泛)
-
set1 <= set2
判断集合是不是被其他集合包含 -
set1 >= set2
判断集合是不是包含其他集合 -
set.isdisjoint(set)
用于判断两个集合是不是不相交
序列
1.序列的内置函数
-
list(sub)
-
tuple(sub)
-
str(obj)
-
len(s)
-
max(sub) #返回集合和参数的max
-
min(sub)
-
sum([ 1,3,5,7,9 ])
-
sort(sub, key=none, reverse=False) #进行排序操作
-
reverse(seq) #翻转
-
enumerate(sequence, [start=0]) #遍历数据对象,一般用于for循环,同时列出数据和数据下标
seasons = ['Spring', 'Summer', 'Fall', 'Winter'] a = list(enumerate(seasons)) print(a) # [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]