首页 > 编程语言 >Python基础知识总结

Python基础知识总结

时间:2024-10-17 23:16:51浏览次数:9  
标签:总结 Python list1 列表 集合 dict print 基础知识 字典

变量

#变量定义
name="name"
age=18
height=1.75
#多个变量赋值
a=b=c=1
print(a,b,c)

字符串

#字符串定义及输出
str1="hello"
str2='world'
print(str1,str2)
#字符串格式化输出
print("name:%s,age:%d,height:%.2f"%(name,age,height))
#字符串拼接
str3=str1+str2
print(str3)
#字符串长度
print(len(str3))
#字符串截取
print(str3[0:5])
#字符串查找
print(str3.find("hello"))
#字符串替换
print(str3.replace("hello","hi"))
#字符串分割
print(str3.split("l"))
#字符串大小写转换
print(str3.upper())
print(str3.lower())
#字符串去除空格
print(str3.strip())

列表

#列表定义及输出
list1=[1,2,3,4,5]
print(list1)
#列表添加元素
list1.append(6)
print(list1)
#列表插入元素
list1.insert(6,0)
print(list1)
#列表删除元素
list1.remove(1)
#del list1[0]
print(list1)
#列表排序
list1.sort()
print(list1)
#列表找最大值,最小值
print(max(list1))
print(min(list1))
#列表反转
list1.reverse()
print(list1)
#列表长度
print(len(list1))
#列表截取
print(list1[0:3])
#列表查找
print(list1.index(3))
#列表统计
print(list1.count(3))
#列表合并
list2=[6,7,8,9,10]
list1.extend(list2)
print(list1)
#列表删除
del list1[0]
print(list1)
#列表清空
list1.clear()
print(list1)
#列表复制
list1=[1,2,3,4,5]
list2=list1.copy()
print(list2)
#列表遍历
for i in list1:
    print(i)
#列表嵌套
list1=[1,2,3,4,5]
list2=[6,7,8,9,10]
list3=[list1,list2]
print(list3)
#列表切片
print(list1[0:3])
#列表切片步长
print(list1[0:3:2])
#若步长为负数则从后往前开始遍历列表,若步长为正数则从前往后开始遍历列表
print(list1[3:0:1])#输出空列表
print(list1[0:3:-1])#输出空列表
#列表切片步长负数
print(list1[3:0:-1])
#列表切片步长负数
print(list1[3::-1])
#列表切片步长负数
print(list1[::-1])
#列表切片步长负数
print(list1[::-2])
#列表切片步长负数
print(list1[3:0:-2])
#列表切片步长负数
print(list1[3::-2])
#列表切片步长负数
print(list1[::-2])

字典

#字典的定义
dict = {'Alice':'2341', 'Beth':'9102', 'Cecil':'3258'}
print(dict)

#字典的访问
print(dict['Alice'])

#字典的添加
dict['David'] = '9527'
print(dict)

#字典的删除
del dict['Alice']
print(dict)

#字典的遍历
for key in dict:
    print(key,dict[key])

#字典的长度
print(len(dict))

#字典的排序
print(sorted(dict))

#字典的清空
dict.clear()
print(dict)

#字典的复制
dict1 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict2 = dict1.copy()
print(dict2)

#字典的合并
dict3 = {'David': '9527', 'Eric': '3258'}
dict1.update(dict3)
print(dict1)

#字典的键值对
print(dict1.items())

#字典的键
print(dict1.keys())

#字典的值
print(dict1.values())

#字典的查找
print(dict1.get('Alice'))

#字典的查找
print(dict1['Alice'])

#字典的查找
print(dict1.setdefault('Alice'))

集合

#集合的使用

#集合的定义
s = set([1,2,3])
print(s)
#集合的添加和删除
#add添加一个元素,update添加多个元素(可以添加列表,元组,字典)
s.add(4)
s.update([5,6,7])
print(s)
#remove删除一个指定元素;discard删除一个指定元素,如果元素不存在不会报错
s.remove(4)
s.discard(5)
print(s)
#pop随机删除一个元素
s.pop()
print(s)
#clear清空集合
s.clear()
print(s)
#集合的遍历
s = set([1,2,3])
for i in s:
    print(i)
#集合的运算
#集合的并集
s1 = set([1,2,3])
s2 = set([2,3,4])
print(s1.union(s2))
#集合的交集
print(s1.intersection(s2))
#集合的差集
#差集:在s1中但不在s2中的元素的集合
print(s1.difference(s2))
#集合的对称差集
#对称差集:两个集合中不重复的元素的集合
print(s1.symmetric_difference(s2))
#集合的子集和超集
#issubset判断是否为子集,issuperset判断是否为超集
print(s1.issubset(s2))
print(s1.issuperset(s2))


#集合的长度
print(len(s))
#集合的最大值和最小值
print(max(s))
print(min(s))
#集合的判断
print(1 in s)
print(1 not in s)

关于输出空格以及换行的做法,以输出九九乘法表为例。(python中输出变量时用逗号分隔,自动生成空格,换行写输出语句时输出的结果也自动换行)

for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%d"%(i,j,i*j),end=" ")
    print()

for循环

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#for循环遍历的两种写法
#第一种
list = [1,2,3,4,5]  
for i in range(len(list)):
    print(list[i])

#第二种
for i in list:
    print(i)

#字符串也类似
for i in 'hello':
    print(i)
for i in range(len('hello')):
    print('hello'[i])
#列表生成式
list = [x*x for x in range(1,11)]
print(list)
#带条件的列表生成式
list = [x*x for x in range(1,11) if x%2==0]
print(list)


#字典的遍历
dic = {'a':1,'b':2,'c':3}
for i in dic:
    print(i)

for i in dic.values():
    print(i)

for i in dic.items():
    print(i)

for i,j in dic.items():
    print(i,j)

#for...else
# 当for循环正常执行完的情况下,执行else输出,如果for循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容
for i in range(1,11):
    print(i)
else:
    print('end')

pass语句是用于当你想定义一个空函数用于占位,否则直接定义一个空函数会报错

def function():
    pass

迭代器与生成器

import sys
list=[1,2,3,4]
it = iter(list)
for x in it:
    print(x, end=" ")

#迭代器对象可以使用常规for语句进行遍历
#迭代器使用函数next()
list1=[1,2,3,4]
it=iter(list1)
while True:
    try:
        print(next(it))
    except StopIteration:
        sys.exit()

#StopIteration异常用于标识迭代的完成,防止出现无限循环的情况,在__next__()方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代
class MyNumbers:
    def __iter__(self):
        self.a=1
        return self
    def __next__(self):
        if self.a<=20:
            x=self.a
            self.a+=1
            return x
        else:
            raise StopIteration
        
myclass=MyNumbers()
myiter=iter(myclass)

for x in myiter:
    print(x)

import sys
#生成器
#在 Python 中,使用了 yield 的函数被称为生成器(generator)
#生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器
#在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
#调用一个生成器函数,返回的是一个迭代器对象
def countdown(n):
    while n > 0:
        yield n
        n -= 1
 
# 创建生成器对象
generator = countdown(5)
 
# 通过迭代生成器获取值
print(next(generator))  # 输出: 5
print(next(generator))  # 输出: 4
print(next(generator))  # 输出: 3
 
# 使用 for 循环迭代生成器
for value in generator:
    print(value)  # 输出: 2 1
#使用yield实现斐波那契数列
def fibonacci(n):
    a,b,count=0,1,0
    while True:
        if (count>n):
            return
        count+=1
        yield a
        a,b=b,a+b

f=fibonacci(10)

while True:
    try:
        print(next(f),end=" ")
    except StopIteration:
        sys.exit()

关于斐波那契数列的具体实现算法如下:

a b
0 1
1 1
1 2
2 3
3 5
5 8
8 13
···

最后返回的是a的值,一种动态规划的思想,用b作中间变量存储下一次应该返回的值

lambda函数

#lambda函数通常与内置函数一起使用,如map()、filter()、reduce()等。对集合进行操作
nums=[1,2,3,4,5,6,7,8,9,10]
#map函数用于对集合中的每个元素进行操作
res=map(lambda x:x*2,nums)
print(list(res))
#filter函数用于对集合中的每个元素进行筛选
res=filter(lambda x:x%2==0,nums)
print(list(res))
#reduce函数用于对集合中的每个元素进行累积操作
from functools import reduce
res=reduce(lambda x,y:x+y,nums)
print(res)

标签:总结,Python,list1,列表,集合,dict,print,基础知识,字典
From: https://blog.csdn.net/m0_73096516/article/details/142991700

相关文章

  • 10.17noip联考总结
    10.17noip联考总结今天的命题人是xde……T1最后大约两个小时的时候想到了正解,但是在处理边界的时候出了问题,大样例一直过不了。其实只需要把数值统计下来再计算就行了。T2其实我们把给定的数给二进制拆开,就会发现其实就是对数进行调整把0调整为1。根据这个思路可以构造出一......
  • 10.7 模拟赛总结
    T1ZYB建围墙题意给你一个数\(n\),求把这\(n\)个格子围起来所需的格子数的最小值。思路首先,我们尝试把图画出来枚举前面来找出规律。下面这张图里是1~10的距离。好的,我们可以发现。在这个图中7这个图内部是六边形。外面一圈绿色的也是六边形。这个时候我们发现数据中......
  • 2024-2025-1 20241401 《计算机基础与程序设计》 第四周学习总结
    班级链接2024计算机基础与程序设计作业要求作业要求作业目标①门电路②组合电路,逻辑电路③冯诺依曼结构④CPU,内存,IO管理⑤嵌入式系统,并行结构⑥物理安全教材学习内容总结《计算机科学概论》第四章、第五章门:非(NOT)门、与(AND)门、或(OR)门、异或(XOR)......
  • JAVA基础知识补漏
    变量类型1.类变量:static2.实例变量:需要new3.局部变量:必须初始化常量final一般用大写表示命名规范所有变量、方法、类名:见名知意类成员变量:首字母小写和驼峰原则:monthSalary局部变量:首字母小写和驼峰原则常量:大写字母和下划线:MAX_VALUE类名:首字母大写和驼峰原则......
  • 常用Python数据分析开源库:Numpy、Pandas、Matplotlib、Seaborn、Sklearn介绍
    文章目录1.常用Python数据分析开源库介绍1.1Numpy1.2Pandas1.3Matplotlib1.4Seaborn1.5Sklearn1.常用Python数据分析开源库介绍1.1NumpyNumpy(NumericalPython)是Python数据分析必不可少的第三方库,Numpy的出现一定程度上解决了Python运算性能不佳的问题,同......
  • PyCharm配置PyTorch环境(完美解决找不到Conda可执行文件python.exe问题)
    出现的问题以下是第一次踩坑的流程,具体解决方法附在后面新建一个python项目,如图所示设置相关信息设置项目名称和位置interpretertype(python解释器类型)==>自定义环境环境==>Generatenew,创建一个新环境类型==>condapython==>3.11,如下所示,在创建好的conda环境中使用的......
  • spark运行报错:env: “/home/hadoop/anaconda3/envs/pyspark/bin/python3.8“: 没有那
    在进入spark的过程中,出现报错【env:"/home/hadoop/anaconda3/envs/pyspark/bin/python3.8":没有那个文件或目录】,当时我立马就被搞蒙了,百度了各种方法,最终都没有解决。当然有大佬说“进入conf目录下,修改spark-env.sh文件”,这个方法我也进行了修改,最终在终端输入./bin/pyspar......
  • python: unittest
     '''生成测试报告https://www.lambdatest.com/blog/generating-xml-and-html-report-in-pyunit-for-test-automation/unittesthttps://codedec.com/tutorials/how-to-generate-html-report-for-pytest-execution/https://docs.pytest.org/en/7.1.x/_modules/......
  • 17.Python基础篇-闭包、装饰器、迭代器、生成器
    函数的进阶—闭包闭包的定义:嵌套函数,内部函数调用外部函数的变量。满足这个条件就算闭包。闭包案例演示:defouter():a=1definner():print('inner函数中打印的变量a:',a)#嵌套函数中使用了外层函数的变量。此时满足了闭包的条件。returninner......
  • 风靡B站的《看漫画学Python》到底是什么来头?
     学习Python的小伙伴大部分应该都知道《看漫画学Python:有趣、有料、好玩、好用(全彩版)》这本书!毕竟,如果在B站搜索“漫画Python”等相关关键词,会看到整个页面都是和这本书相关的视频…… 郑重声明:这真不是出版社安排的,纯属各UP主们的自发行为,毕竟又是清华大佬,又是北大教......