python基础之基本数据类型

数据类型的分类

  数字、字符串、列表、元组、字典、集合

1.1、数字int型,主要是用来计算的。

  1.1.1、布尔值型bool

    真 1 True

    假 0 False

2.1、字符串str

  2.1.1、字符串的索引与切片

    索引即下标,就是字符串组成的元素从第一个开始,初始索引为0。 


1

2

3

4

5

= ‘ABCD‘

print(a[0]) ===> A

print(a[1]) ===> B

print(a[2]) ===> C

print(a[3]) ===> D

    切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则是顾头不顾腚)。


1

2

3

4

5

6

7

= ‘ABCDEF‘

print(a[0:2])    ===> AB

print(a[2:4])    ===> CD

print(a[0:])      ===> ABCDEF #默认到最后

print(a[0:-1])   ===> ABCDEF #-1就是最后一个

print(a[0:5:2]) ===> ACE #步长2

print(a[5:0:-2])===> FDB # 反向加步长

 2.1.2 字符串的常用方法。

 

 

3.1 元组 tupe

  元组也称为只读列表,数据只可以被查询,不能被修改。字符串的切片操作同样适用于列表。列表用()标示,黎明的元素用逗号隔开。如(1,2,3)

4.1 列表 list

  列表是python的基础数据类型之一,是用[]括起来,每个元素以逗号隔开,里面可以存放各种数据类型。如:

  li = [‘sunshine‘,18,{‘hobby‘:‘eat‘},[1,2,3]]

  列表还可以储存大量数据,32位python的限制是536870912个元素,64位python的限制是1152921504606846975 个元素。

  列表是有序的,有索引值,可以切片,方便取值。

  4.1.1 增

 insert_append_extend

  4.1.2 删

 pop_del_remove_clear

  4.1.3 改

 

  4.1.4 查

  通过切片的方式或者循环的方式去查。

  4.1.5 其它操作

  count (数) 统计某个元素在列表中出现的次数。


1

2

a = [‘s‘,‘u‘,‘n‘,‘s‘,‘h‘,‘i‘,‘n‘,‘e‘]

print(a.count(‘s‘))  # 出现了2次

  index 方法 用于从列表中找出某个值第一个匹配项的索引位置


1

2

a = [‘s‘,‘u‘,‘n‘,‘s‘,‘h‘,‘i‘,‘n‘,‘e‘]

print(a.index(‘n‘)) # 第一个出现n的索引位置为 2

  sort 在原位置对列表进行排序


1

2

3

4

a = [‘s‘,‘u‘,‘n‘,‘s‘,‘h‘,‘i‘,‘n‘,‘e‘]

print(a.sort()) # 输出为 None

a.sort() # 没有返回值

print(a) # [‘e‘, ‘h‘, ‘i‘, ‘n‘, ‘n‘, ‘s‘, ‘s‘, ‘u‘]

  reverse 将列表中的元素反向存放


1

2

3

4

a = [‘s‘,‘u‘,‘n‘,‘s‘,‘h‘,‘i‘,‘n‘,‘e‘]

# print(a.reverse()) # 输出为 None

a.reverse() # 没有返回值

print(a) # [‘e‘, ‘n‘, ‘i‘, ‘h‘, ‘s‘, ‘n‘, ‘u‘, ‘s‘]

5.1 字典 dict

  字典是Python中唯一的映射类型,采用键值对(key-->value)的形式存储数据。Python 对key进行哈希函数运算,根据运算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示kye必须是不可变类型,如:数组、字符串、元组。

  字典是除列表之外最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象结合。两者的区别在于:字典是通过key来取值的,而不是通过偏移存取。

  5.1.1 增

 setdefaut

  5.1.2 删

 pop_popitem_clear

  5.1.3 改

 update

  5.1.4 查

 get

  5.1.5 其它

 

  5.1.6 字典的循环

 key_value_items

6.1 其它 range / enumerate / range

  6.1.1 for 循环:用户按照顺序循环可迭代对象的内容。

 for

  6.1.2 enumerate 枚举,对于一个可迭代的对象(iterable)/ 可遍历的对象(list,str等),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

 

  6.1.3 range 指定范围,生成指定数字

 range

7.1 集合

  集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希的。主要作用是:

    1、去重  ---> 把一个列表变成集合,就自动去重了。

    2、关系测试 --> 测试两组数据之间的交集、差集、并集等关系。

  7.1.1 创建集合 


1

2

3

4

set1 = set({1,2,‘sunshine‘})

set2 = {1,2,‘sunshine‘}

print(set1,type(set1)) # {1, 2, ‘sunshine‘} <class ‘set‘>

print(set2,type(set2)) # {1, 2, ‘sunshine‘} <class ‘set‘>

  7.1.2 增


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

set1 = {‘sunshine‘,‘age‘,18}

set1.add(‘hobby‘)

print(set1) # {18, ‘age‘, ‘sunshine‘, ‘hobby‘} 集合是无序的

set1.update(‘A‘)

print(set1) # {‘A‘, ‘sunshine‘, 18, ‘hobby‘, ‘age‘}

set1.update(‘BC‘)

print(set1) # {‘C‘, ‘A‘, ‘sunshine‘, 18, ‘B‘, ‘hobby‘, ‘age‘}

set1.update([1,2,3])

print(set1) # {1, 2, 3, ‘C‘, ‘A‘, ‘sunshine‘, 18, ‘B‘, ‘hobby‘, ‘age‘}

# 复制集合

num1 = {1,2,3}

num2 = num1.copy()

print(num2) # {1, 2, 3}

  7.1.3 删


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

set1 = {‘sunshine‘,‘age‘,18}

set1.remove(‘sunshine‘# 删除一个元素

print(set1) # {‘age‘, 18}

set1.pop() # 随机删除一个元素

print(set1)  # {‘age‘}

set1.clear() # 清空集合

print(set1) # set()

del set1 # 删除集合

print(set1) # 报错 NameError: name ‘set1‘ is not defined

# discard() 删除集合中指定的元素,删除不存在的则不操作

num = {1,2,3}

num.discard(4)

print(num) # {1, 2}

num.discard(3)

print(num) # {1, 2, 3}

  7.1.4 其它操作


1

2

set1 = {1,2,3}

set2 = {2,3,4}

    交集 (& 或 intersection)


1

2

3

4

5

6

7

8

print(set1 & set2) # {2, 3}

print(set1.intersection(set2)) #{2, 3}

# intersection_update 交集更新操作

dreamers = {‘ljl‘,‘wc‘,‘xy‘,‘zb‘,‘lsy‘}

girls = {‘mmf‘,‘lsy‘,‘syj‘}

dreamers.intersection_update(girls) # 将集合dreamers与集合girls的交集赋值给dreamers

print(dreamers) # {‘lsy‘}

    并集 (| 或 union)


1

2

print(set1 | set2) # {1, 2, 3, 4}

print(set2.union(set1)) # {1, 2, 3, 4}

    差集 (- 或 difference)


1

2

3

4

5

6

7

8

print(set1 - set2) # {1}

print(set1.difference(set2)) # {1}

# difference_update 差集更新操作。

dreamers = {‘ljl‘,‘wc‘,‘xy‘,‘zb‘,‘lsy‘}

girls = {‘mmf‘,‘lsy‘,‘syj‘}

dreamers.difference_update(girls)# dreamers去除跟girls相同的元素

print(dreamers) #{‘zb‘, ‘ljl‘, ‘xy‘, ‘wc‘}

    反交集 (^ 或 symmetric_difference)


1

2

print(set1 ^ set2) # {1, 4}

print(set1.symmetric_difference(set2)) # {1, 4}

    子集与超集 (issubset / issuperset)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

set1 = {1,2,3}

set2 = {1,2,3,4,5}

print(set1 < set2) # True

print(set1.issubset(set2)) # True 说明set1 是 set2 的子集

print(set2 > set1) #True

print(set2.issuperset(set1)) #True 说明set2 是 set1 的超集

# isdisjoint() # 检测2个集合是否不存在交集,存在交集则返回False

res = set2.isdisjoint(set1)

print(res) # False

#symmetric_difference()  对称差集

set1 = {1,2,3}

set2 = {2,3,4}

res = set1.symmetric_difference(set2)

print(res) # {1, 4}

#symmetric_difference_update()  对称更新差集

set1.symmetric_difference_update(set2)

print(set1) # {1, 4}

    forzenset 不可变集合,让集合变成不可变类型


1

2

= frozenset(‘sunshine‘)

print(a,type(a)) # frozenset({‘e‘, ‘s‘, ‘n‘, ‘i‘, ‘u‘, ‘h‘}) <class ‘frozenset‘>

    集合的一些应用

 

练习题:

购物车功能要求:要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功goods = [    {"name":"电脑","price":1999},    {"name":"鼠标","price":10},    {"name":"游艇","price":20},    {"name":"美女","price":998}]

原文地址:https://www.cnblogs.com/valorchang/p/11282145.html

时间: 2024-10-18 22:37:55

python基础之基本数据类型的相关文章

Python基础之基本数据类型一《数字与字符串》

一.运算符 结果是值 算数运算                            a = 10 * 10                  赋值运算                            a = a + 1    a+=1 结果是布尔值 比较运算                            a = 1 > 5                  逻辑运算                            a = 1>6 or 1==1              

二.Python基础语法和数据类型

Python第二节 基础语法和数据类型 Python编码 python3默认情况下源码文件以UTF-8编码, 字符串均为unicode字符串.同时也可以通过# -*- coding: cp-1252 -*-这样类似的代码进行源码编码的变更. Python标志符 第一个字符必须是字母或者下划线"_", 绝对不能是数字或其他特殊字符. 其他字符: 任意什么都行 可以使用中文做变量名 标识符对大小写敏感 Python关键字 关键字禁止被用作任何标识符名称. 可通过标准库的keyword模块查

python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "?海峰", "刘嘉玲"] s = "_".join(li) print(s) li = "?花?闺?" s = "_".join(li) print(s) 列表: 循环删除列表中的每?个元素 li = [11, 22, 33, 44] for e in li: li.remove(e) print(li

python基础(7):基本数据类型二(list、tuple)、range

1. 列表 1.1 列表的介绍 列表是python的基础数据类型之?,其他编程语?也有类似的数据类型.比如JS中的数组, java中的数组等等.它是以[ ]括起来,每个元素?','隔开?且可以存放各种数据类型: lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我 叫"

Python 基础之四基本数据类型

初识Python数据类型 数字 Int,整型 Float,浮点型 Long,长整型 布尔 字符串 列表 元组 字典 1.数字 INT(整型) 在32位系统上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648 ~ 2147483647. 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808 ~ 9223372036854775807. LONG(长整型) Python的长整型没有指定位宽,即:Py

python基础02 基本数据类型

作者:徐佳 欢迎转载,也请保留这段声明.谢谢! 摘要:简单的数据类型以及赋值 变量不需要声明 python的变量不需要声明,你可以直接输入: >>>a = 10 那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数). 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的. >>>print (a) >>>print (type(a)) 那么会有如下输出: 10 <class 'int'> 这里,

Python基础day02 基本数据类型

Number(数字)---> int.float.complex(复数) 在Python3中,整形(int)就是常见的整数:1,100,500,1000...... 浮点型(float),就是我们常见的用小数点表示的小数,例如0.5, 1.2, 3.14,等等. 复数(complex, 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型. 属性 描述 num.real 该复数的实数部分 num.imag 该复数的虚数部分 num.

python基础:输入输出及数据类型

1,输入输出 (1)输出函数print() 要清楚的是print是个函数,所以必须要有括号,python2里面是没有的.括号里面就是要输出的内容,一般字符串等需要加引号,单引号和双引号都可以,但是不能交叉使用.通过下面的实验,大家大概清楚了:如果想在输出字符串必须使用引号,如果没有引号,数值是可以输出的,也可以计算,但是不管怎样,括号是必须的. 注意下面:一个逗号是一个分隔符. (2)输入函数input() input函数要求用户输入一个字符串,保存到一个变量中.注意这个字符串不需要加引号. 这

python基础复习-1-2 数据类型-str、list、tuple、dict

数据类型 数字 引号: 123 数值 '123' 字符串 整数:ini long 范围:(-2**31 - 2**31) num = 123 长整型 long (L) num = 123L 浮点型:float 复数型: 序列 字符串.列表.元组都属于序列 序列的两个主要特点是索引操作和切片操作 索引操作可以从序列中抓取一个特定的项目 切片操作可以从序列中获取一个切片,即序列的一部分 序列的基本操作 len() : 求序列的长度 : 连接两个序列 : 重复序列元素 in : 判断元素是否在序列中