python入门(中)

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)
  • removepop都可以删除元素,前者是指定具体要删除的元素,后者是指定一个索引。
  • 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
  • 连接操作符 +
  • 重复操作符 *
  • 成员关系操作符 innot 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 可把数据一个个读出来
  • 可以通过innot 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')]
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值