ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python基础知识梳理

2022-09-14 21:32:04  阅读:355  来源: 互联网

标签:Python 字典 list1 list2 print array 基础知识 梳理 赋值


变量与赋值语句

  • 简单赋值用于为一个变量赋值。

  • 序列赋值可以一次性为多个变量赋值。

  • 多目标赋值指用连续的多个等号将同一个数据赋值给多个变量。

  • 增强赋值指将运算符与赋值相结合的赋值语句

 

# 简单赋值
num = 100  # 100


# 序列赋值
x, y = 1, 2  # 1, 2
(x2, y2) = 10, 20  # 10, 20
[x3, y3] = 'ab'  # a, b
((x4, y4), z4) = 'ab', 'cd'  # a, b, cd
x5, *y5 = 'abcd'  # a, ['b', 'c', 'd']
*x6, y6 = [1, 2, 3, 'abc']  # [1, 2, 3], abc


# 多目标赋值
a = b = c = 10  # 将10 分别赋值给变量 a、b、c


# 增强赋值 
i = 10
i += 10  # 20

 

程序结构

通常,程序结构分为3种:顺序结构分支结构循环结构

  • 程序中的语句按照先后顺序依次执行各条语句,程序默认为顺序结构

  • Python使用if语句实现程序的分支结构;Python还有一种特殊的三元表达式语法:表达式1 if 条件表达式 else 表达式2

  • Python使用for语句和while语句实现循环结构;循环中还可以使用breakcontinuepass来完成循环控制

 

例题:

编程实现任何一个列表中的每个数字进行奇偶数分类,用for循环和while循环分别定义一个函数实现。

并随机生成一串正整数(不允许定随机种子),检验函数正确。

比如:生成的是vec = [36, 17 ,22, 93, 88, 63],得到even =[36,22,88], odd=[17,93,63]。

 

import random
import numpy as np

# 用for循环进行奇偶数分类
def f1(array):
    list1 = []
    list2 = []
    for i in range(len(array)):
        if(array[i] % 2 == 0):
            list2.append(array[i])
        else:
            list1.append(array[i])

    return list1, list2


#用while循环进行奇偶数分类
def f2(array):
    list1 = []
    list2 = []
    t = len(array)
    while(t):
        t = t - 1
        if(array[t] % 2 == 0):
            list2.append(array[t])
        else:
            list1.append(array[t])

    return list1, list2


n = input("请输入列表长度n=")
n = int(n)
random_int_list = []
for i in range(n):
    random_int_list.append(random.randint(0, 1000))

array = np.array(random_int_list)

list1, list2 = f1(array)
print("生成的序列:", random_int_list)
print("奇数序列:", list1)
print("偶数序列:", list2)

 

数据结构

Python中,数字和字符串属于简单数据类型。集合、列表、元组、字典和范围等均属于组合数据类型。组合数据类型的对象是一个数组容器,可以包含多个有序或无序的数据项。

  • 集合(set)是Python 2.4引入的一种类型,集合常量用大括号表示,例如,{1,2,3}。集合中的元素具有唯一、无序和不可改变等特点,集合支持数学理论中的各种集合运算。

  • 列表和元组都属于序列,序列支持索引、分片和合并等操作。字符串属于特殊的不可变序列。

  • 元组可以看作是不可变的列表,它的使用与字符串类似。元组常量用圆括号表示,例如:(1,2)('a','b','c'),也可以使用tuple()方法来创建元组对象。

  • 字典是一种无序的映射集合,包含一系列的键:值对。字典常量用大括号表示,例如,{'name':'John','age':25,'sex':'male'},也可以使用dict()函数来创建。

 

# 重复值的集合声明
set1 = {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4}
print(len(set1))  # 求长度:计算集合中元素的个数  4 
print('a' in set1)  # 判断包含:判断集合是否包括数据  True

# Python3.0引入的集合解析构造方法
set2 = {item for item in [1, 2, 3, 4]}
# 集合对象支持求长度、判断包含、求差集、并集、交集、对称差和比较等运算
print(set1 - set2)  # 求差集:用属于set1但不属于set2的元素创建新集合  {2, 'bc'}
print(set1 | set2)  # 求并集:用set1、set2两个集合中的所有元素创建新集合  {1, 2, 5, 'a', 'bc'}
print(set1 & set2)  # 求交集:用同时属于set1和set2的元素创建新集合  {1, 'a'}


# 列表切片操作
list1 = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list1[2:5])      # [2, 3, 4]
print(list1[2:])       # [2, 3, 4, 5, 6, 7, 8, 9]
print(list1[:5])       # [0, 1, 2, 3, 4]
print(list1[3:10:2])   # [3, 5, 7, 9]
print(list1[10:3:-2])  # [9, 7, 5]

# 列表常用方法
list2 = [1, 3, 3, 7, 5]
list2.append(5)  # 追加
list2.remove(7)  # 移除指定元素
list2.pop(0)  # 按索引位置删除
list2.sort()  # 升序排序
list2.reverse()  # 反转


# 创建元组
print((2,))  # 包含一个对象的元组,不能缺少逗号  (2,)
print(tuple('abcde'))  # 参数为可迭代对象  ('a', 'b', 'c', 'd', 'e')
print(tuple(item * 2 for item in range(5)))  # 使用解析结构创建元组  (0, 2, 4, 6, 8)

# 元组常用方法
print(len((1, 2, 3, 4, 5)))  # 求长度
print((1, 2) * 3)   # 重复
print(t3.count(1))  # 统计指定值出现的次数,如果不包含指定值时,返回0
print(t3.index(2))  # 查找指定范围内元素所在的索引

# 索引和分片
t2 = tuple(range(10))  # (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
print(t2[1])           # 1
print(t2[-1])          # 9
print(t2[2:5])         # (2, 3, 4)
print(t2[1:7:2])       # (1, 3, 5)


# 创建字典
dict1 = {'name': 'John', 'age': 25, 'sex': 'male'}  # 字典常量
dict2 = {'book': {'Python编程': 100, 'C++入门': 99}}  # 嵌套字典
dict3 = dict(name='Tom', age=25)  # 使用赋值格式的“键:值”对创建字典 {'name': 'Tom', 'age': 25}

# 字典常用方法
dict1['name'] = 'tom'  # 通过索引修改映射值
dict1.update(name='jim')  # update()方法用于为字典添加键值对,若字典已存在同名的键,则该键的映射值被覆盖
print(dict1['name'])  # 根据key获取value
print(dict1.get('name', 'default'))  # 返回键 key映射的值, 如果键key不存在,返回默认值
print(dict1.pop('name', 'default'))  # 从字典中删除键值对,并返回被删除的映射值。若键不存在,则返回default
print(dict1.items())  # 返回键值对视图,视图对象支持迭代操作
print(dict1.keys())   # 返回字典中所有键的视图
print(dict1.values())  # 返回字典中全部值的视图

 

标签:Python,字典,list1,list2,print,array,基础知识,梳理,赋值
来源: https://www.cnblogs.com/ZGZhen-MTTTer/p/16694592.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有