Python——数据类型

1.布尔类型

#demo 布尔类型举例
b = 100 < 101
print (b)

表达式b = 100 < 101 称为布尔表达式,变量b就是布尔类型变量。

比较运算符: <  、 > 、  <= 、  >= 、  == 、 !=

逻辑运算符: not and or

<1>逻辑运算符

not 取反;and 与运算(同真才为真);or 或运算(同假才为假)

注:

a. 优先级。在只有or和and的情况下,从左往右依次运算。当表达式中出现not,在没有括号的情况下,需先对not后的变量取反,然后再做其他运算。例如:a = false,b = true,a or not b的结果为false; not (a and b)的结果为true。

b.狄摩根定律。not (a and b) 相当于 not a or not b ; not (a or b) 相当于 not a and not b。

 

2.列表(list)

列表就是多项数据组合而成的一个数据结构,每一项数据称为元素(element)。

声明: 列表名  = [元素0,元素1,元素2,......,元素n]

[]内不包含任何元素,成为空列表。如:L = []   或 L = [1,2,3]

列表中的元素可以是相同的数据类型,也可以是任意不同的数据类型,如整型,浮点型,字符串类型, 甚至是列表本身。如: L = [1, 1.3, "2", "China", ["I", "am", "another", "list"]] 。

<1>获取列表中的元素

通过索引获取元素,Python中元素下标从0开始;len()函数可以获取列表的长度;若获取列表中的元素列表,如上面的例子,获取元素“am” ,即L[4][1] ;

<2>列表的基本操作

(1)修改:通过索引值来修改相应位置上的数值,如 L[0] = 2

(2)添加:append()函数,在列表末尾添加一个元素;

#demo 列表append方法
L = [1,1.3,"2","China",["I","am","another","list"]]
L.append(3)
print (L)

#运行结果:L = [1,1.3,"2","China",["I","am","another","list",3]

append()函数是列表的专属方法,使用方式为列表名.append() ;

其他方法:extend() 、insert() 、"+="等

(3)删除:remove()函数, remove(x) 会删除列表中第一次出现的x 。

#demo 列表remove方法
L = [1,1.3,"2","China",["I","am","another","list"]]
L.append(1)
print (L)
#L.remove(3)  报错

#运行结果:L = [1.3,"2","China",["I","am","another","list"]

使用remove并不需要知道元素的具体位置,只要知道列表中有这个元素即可;

判断元素是否在列表中的方法为:成员关系操作符in

#demo 判断元素是否在列表中
L = [1,1.3,"2","China",["I","am","another","list"]]
print ("China" in L) #输出为True
print ("I" in L) #输出为False

#第二个输出为False,因为in只判断元素是否在列表中,却不会继续判断元素是否在子列表中,而"I"在子列表中,所以返回False; 修改为:
print ("I" in L[4])

not in 判断某个元素是否不在序列中。

(4)分片:一次性获取多个元素

L[index1:index2]  获取索引范围 index1到 (index2-1)的所有值

index2 <= index1 ,则分片结果为空表

index2 为空,则获取从index1开始往后的所有值

index1为空,则获取从列表第一个元素到index2 - 1位置的所有值

index1 和 index2 都为空,则获取整个列表,相当于复制列表,同L[0 : len(L)]  L[: len(L)]  L[0:]  L[:]

L[index1:index2:stride]   stride表示步长,如L[::2]  结果为 L[0]、L[2]、L[4]  ;stride默认为1,不能为0,可以为负值,为负值表示从右向左提取元素

注意:分片操作是产生新的列表,不会改变原有列表。

 

<3>列表中常用操作符

连接(+):将两个列表合并成新的列表 ,如:L1 = [1,2,3] L2 = [3,4,5] L1 + L2的结果为 [1,2,3,3,4,5]

复制(*):对于列表而言,操作符 * 表示将原列表重复复制多次。如:L = [0] * 100表示将列表[0]复制100次,这会产生一个含有100个0的列表。

#demo 解二维线性方程组
#列表A = [[a0,b0],[a1,b1]] 表示a0 * x + b0 * y = c0, a1 * x + b1 * y = c1的系数,C = [c0,c1]表示等式结果
#求解 2x + y = 4,3x -2y = -1
A = [[2,1],[3,-2]]
B = [4,-1]
if A[0][0] == 0:
    y = B[0] / A[0][1]
    x = (B[1] - A[1][1] * y) / A[1][0]
elif A[1][0] == 0:
    y = B[1] / A[1][1]
    x = (B[0] - A[0][1] * y) / A[0][0]
else:
    b = A[0][1] * A[1][0] - A[1][1] * A[0][0]
    c = B[0] * A[1][0] - B[1] * A[0][0]
    if((b == 0) and (c == 0)): print ("Infinite Solution")
    elif(b == 0): print ("No Solution")
    y = c / b
    x = (B[0] - A[0][1] * y) / A[0][0]
print ("x = ",x,"y = ",y)

 

 

3.字符串

也是一种序列,可以通过索引获取元素。

创建字符串,在字符两边加上单引号或双引号,字符串和列表类似,索引和分片都可以使用, 运算符"+"、 "*"、 in 、 not in都可以使用。

字符串的内容是不可变的。S = "abcdrfg" ; S[0] = 'f' 这样程序会报错。 字符串不能使用append等方法

<1>字符串类型与数值型相互转化

数值转化为字符串类型,使用函数str()

字符串转化为数值,int() 、 float() 

#转换
p = 123.45
s = str(p) #s = "123.45"
str =  "123"
int(str) # 123
float(str) # 123.0
str = "123.45"
float(str) # 123.45
int(str) # 报错

<2>字符串转化为列表

list()函数   ,将每个字符作为一个元素保存在列表中, 如 str = "123, 45" ;list(str) 返回结果 ['1','2','3',','' ','4','5'] ,逗号和空格都算字符;

split()函数 分隔  ,如 L = str.split(",")    返回结果 L 为 ["123"," 45"]

将L转化为纯整型列表  L = [int(e) for e in L] 结果为 L = [123, 45]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中用于判断数据类型的函数是type()。它可以返回所给变量数据类型。例如,type(1.23)会返回float类。另外,Python还提供了一些数据类型转换的函数,如int()、float()和str()。int()函数可以将浮点转换为整,例如int(12.36)会返回整数12;float()函数可以将整转换为浮点,例如float(17)会返回浮点数17.0;str()函数可以将浮点转换为字符串,例如str(-9.63)会返回字符串"-9.63"。而bool()函数可以将其他数据类型转换为布尔,其中0、0.0、""、()、[]、{}以及只包含空格的字符串会转换为False,其他值都会转换为True。另外需要注意的是,字典的键必须是不可变类,可以是数字、字符串或元组,但不能是列表。在判断字典中是否存在某个键时,可以使用in关键字,例如'name' in dict2会返回True,而'name1' not in dict2会返回False。对于字符串类Python提供了isdigit()函数来判断字符串是否由纯数字组成,例如"2.4".isdigit()会返回False,而"5".isdigit()会返回True。综上所述,Python中用于判断数据类型的函数有type()和isdigit()。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python学习——(数据类型及其常用函数)](https://blog.csdn.net/Helen_1997_1997/article/details/128445665)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python中判断数据类型](https://blog.csdn.net/m0_46699540/article/details/130943484)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟程序员__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值