Python基础入门——数据结构

一、列表(list)

(1)定义

a=[9,3,4,2,6,8]  #用中括号去定义、创建
b=[] #定义一个空列表
print(a)  #[9,3,4,2,6,8]
print(b)  #[]

(2)访问

(2.1)索引访问

正索引从0开始;负索引从-1开始

a=[9,3,4,2,6,8]
print(a[2])   #4   正索引从0开始
print(a[-2])  #6   负索引从-1开始
a[2]=666      
print(a)      #[9,3,666,2,6,8]

(2.2)切片访问

a [ 开始:结束:步长 ] —— 左闭右开 [ 开始:结束 )

a=[9,3,4,2,6,8,5,0,1]
print(a[2:6:2])   #[4, 6]
print(a[2:6])     #[4, 2, 6, 8]
print(a[6:])      #[5, 0, 1]
print(a[:6])      #[9, 3, 4, 2, 6, 8]
print(a[6:-1])    #[5, 0]

(3)添加

b=[8,3,4]
b.append(666)
print(b)   #[8, 3, 4, 666]

(4)删除

b=[8,3,4,1]
del b[2]   #delete函数 列表名[索引]
print(b)  #[8,3,1]

(5)连接

a=[9,3,4,2,6,8,5,0,1]
b=[213,3425,53,234]
print(a+b)   #[9, 3, 4, 2, 6, 8, 5, 0, 1, 213, 3425, 53, 234]

(6)迭代

a=[5,8,7]
b=a*3
print(b)  #[5, 8, 7, 5, 8, 7, 5, 8, 7]

二、元组(tuple)

(1)创建

x=(2,3,4,6,8,1,7)  #用小括号去创建
print(x)         #(2,3,4,6,8,1,7)
print(type(x))   # <class 'tuple'>
y=(5)
z=(5,)
print(y)         # 5
print(type(y))   # <class 'int'>
print(z)         # (5,)
print(type(z))   #  <class 'tuple'>
a=('cdbdjhs',5)
b=("bdcjfhbsd")
print(a,)       # ('cdbdjhs', 5) 
print(b)        # bdcjfhbsd 
print(type(a))  # <class 'tuple'>
print(type(b))  # <class 'str'>

(2)访问

a [ 开始:结束:步长 ] —— 左闭右开 [ 开始:结束 )

a=(9,3,4,2,6,8,5,0,1)
print(a[2])       # 4
print(a[-2])      # 0
# a[2] = 666  元组不允许更改值
print(a[2:6:2])   #[4, 6]
print(a[2:6])     #[4, 2, 6, 8]
print(a[6:])      #[5, 0, 1]
print(a[:6])      #[9, 3, 4, 2, 6, 8]
print(a[6:-1])    #[5, 0]

(3)操作

(3.1)删除

a=(5,8,7,3,9,6,1,0,2)
print(a)
del a
print(a)  #发生异常: NameError: name 'a' is not defined

(3.2)连接

a=(1,2,3)
b=(4,5,6)
c=a+b
print(c)   # (1, 2, 3, 4, 5, 6)

(3.3)计算长度

a=(5,8,7,3,9,6,1,0,2)
print(len(a))   # 9

(3.4)迭代(重复)

a=(5,8,7)
b=a*3
print(b)  # (5, 8, 7, 5, 8, 7, 5, 8, 7)

三、字典

(1)定义

用键值对表示key:value

a={
    "huawei":"001",
    "xiaomi":"002",
    "apple":"003",
    "haode":666
}
print(a)  # {'huawei': '001', 'xiaomi': '002', 'apple': '003', 'haode': 666}
print(type(a))   #<class 'dict'>  字典类型

(2)引用

a={
    "huawei":"001",
    "xiaomi":"002",
    "apple":"003",
    "haode":666
}
print(a["huawei"])  # 001
print(a["haode"])   # 666

a["haode"] = 777   # 修改数据
print(a["haode"])   # 777

(3)增加

a={
    "huawei":"001",
    "xiaomi":"002",
    "apple":"003",
    "haode":666
}
a["oppo"]="004"
print(a)  
# {'huawei': '001', 'xiaomi': '002', 'apple': '003', 'haode': 666, 'oppo': '004'}

(4)删除

字典是无序的,不可根据下标操作

a={
    "huawei":"001",
    "xiaomi":"002",
    "apple":"003",
    "haode":666
}
del a["apple"]
print(a)  # {'huawei': '001', 'xiaomi': '002', 'haode': 666}

四、集合

(1)定义

集合里面没有重复的值

(1.1)直接使用 { } 创建

1、打印出来后 顺序和定义时不同
2、如有重复项,会自动去重

mySet={"Jeasu","18 years old","a beautiful girl"}
print(mySet)  #{'18 years old', 'a beautiful girl', 'Jeasu'}

n={2,4,3,5,9,2,6,6}
print(n)  #{2, 3, 4, 5, 6, 9}

n={243,56,73,342,6,6}
print(n)  #{243, 6, 342, 56, 73}

(1.2)使用set ( ) 创建

1、将列表、元组等迭代对象转换成集合
2、如有重复项,会自动去重

mySet = set([1,2,3,4])
print(mySet)  # {1,2,3,4}

m=[1,1,321,4]
y=set(m)
print(y)  #{321, 1, 4}

b=(5,7,4,6)
z=set(b)
print(z) # {4, 5, 6, 7}

(2)添加

向集合里添加元素:集合名.add(元素)

z={4, 5, 6, 7}
z.add(999)
print(z)  # {4, 5, 6, 999, 7}

(3)删除

(3.1)删除集合

z={4, 5, 6, 7}
del z
print(z)  #发生异常: NameError: name 'z' is not defined  

(3.2)删除元素

pop( ) :随机删除一个元素,但经过大量测试:如果是数字,则删除的是最小值;如果是字符串,则可能随机删除

z={4, 5, 6, 7}
z.pop()
print(z)  #{5, 6, 7}

mySet={"jeasu","18 years old","a beautiful girl"}
mySet.pop()
print(mySet)
#执行两次pop(),结果分别为
# {'jeasu', '18 years old'},{'18 years old', 'a beautiful girl'}
#可见若是字符串,则是随机删除

remove ( ) :删除指定元素

z={4, 5, 6, 7,999}
z.remove(7)
print(z)  # {4, 5, 6, 999}

clear( ) :删除全部元素

z={4, 5, 6, 7,999}
z.clear()
print(z)  # set()  集合还在 是个空集合

(4)运算

(4.1)交集:&

a={1,2}
b={3,1,4}
print(a & b)  # {1}

(4.2)并集:|

a={1,2}
b={3,1,4}
print(a|b)  # {1, 2, 3, 4}

(4.3)差集:—

a-b :将b中元素从a中扣除(有则去除)

a={1,2}
b={3,1,4}
print(a-b)  #{2}

五、列表、元组、字典和集合的区别

数据结构是否可变是否重复是否有序定义符号
列表(list)可变可重复有序[ ]
元组(tuple)不可变可重复有序( )
字典(dictionary)可变可重复无序{ key:value }
集合(set)可变不可重复无序{ }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用提到,Python语言官方建议使用四个空格来缩进代码,并且不使用大括号来表示代码块。这是Python的一个特点。引用中介绍了在Python中创建集合、向集合中添加和删除元素的方法,以及集合的交集、并集和差集运算的示例代码。引用展示了使用format()函数来格式化输出字符串的示例代码。 如果你希望学习Python入门到精通的笔记,我建议你可以从以下几个方面入手: 1. 基础语法:了解Python的基本语法,如变量、数据类型、运算符和表达式等。 2. 控制流程:学习条件语句和循环语句,如if语句、for循环和while循环等。 3. 函数和模块:掌握定义和调用函数的方法,以及使用模块扩展Python的功能。 4. 数据结构:学习列表、元组、字典和集合等常用的数据结构,了解它们的特点和用法。 5. 文件操作:学习如何读写文件,以及处理文件中的数据。 6. 异常处理:了解如何处理异常,使程序在出错时能够优雅地处理错误。 7. 面向对象编程:学习面向对象的思想和Python中的类、对象和继承等概念。 8. 进阶主题:深入学习Python的高级特性,如迭代器、生成器、装饰器和多线程等。 以上是我给出的一些建议,希望对你学习Python有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python学习——从入门到精通(学习笔记)](https://blog.csdn.net/m0_46968642/article/details/122086059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [python入门到精通-新手学习笔记 第六章:字典与集合](https://blog.csdn.net/weixin_45694997/article/details/107708392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值