CSIC_716_20191105【数字、字符串、列表】

python数据类型及其内置方法

一、整型:主要用于数学运算

其他进制----->转十进制    

 

"""
其他进制转换为十进制
通过int('x进制数',x)实现
"""
a = int('110', 2)
print(a)  # 6
b = int('7731', 8)
print(b)  # 4057
c = int('e1f3', 16)
print(c)  # 57843

 

十进制----->转其他进制

十进制(decimal)进制转其他进制
'''
a = bin(8)
print(a)  # 转二进制(binary) 0b1000
b = oct(100)
print(b)  # 转八进制(octal) 0o144
c = hex(93332)
print(c)  # 转十六进制(hexadecimal) 0x16c94

  

整型:是无序的,不可变的,存的是一个值。

是否有序:判断是否有序,就看其能否通过索引取值

是否可变:判断是否可变,规则为:如果值变id不变,说明该类型可变;如果值变id也变,说明该类型不可变

 

 

 

二、字符串

1、字符串的定义方式:

单、双、三引号可以定义字符串,在字符串引号前加字母‘r’,可以将字符串中的特殊字符转义。

2、取值

字符串可以通过索引取值,取到字符串中某个位置的值,但是取出来只能显示不可更改。

'''
字符串取值
'''
str1 = 'abcdefgh'
print(str1[1:4])
print(str1[0:4])  #索引取值,顾头不顾尾,故只能取0,1,2,3中的值
print(str1[:4])  #[:4]和[0:4]效果一样
print(str1[4:])
print(str1[4:len(str1)])  #[7:]和[7:len()]效果一样
print(str1[1:4:2])  #步长为2,跳两步取值
print(str1[::-1])  #从后往前,反向取值
print(str1[::-2])  #从后往前,跳两步取值

  

5、左右两端去特殊字符操作  .strip("特殊字符" ) ;

   左端去特殊字符操作  .lstrip("特殊字符" )

      右端去特殊字符操作  .rstrip("特殊字符")

 

6、切分字符串

 

'''
split切分字符串
'''
a = 'bravehearthearmeroar'
print(a.split('h'))  # ['brave', 'eart', 'earmeroar']

 

切分字符串之后,指定字符不会出现在结果列表中,

 

7、字符串长度,或者说字符串中元素的个数,包含空格

 

'''
len()获取当前数据中的元素的个数
'''
a = 'bravehearthearmeroar'
print(a.__len__())
print(len(a))

 

 

8、字符串可以通过for循环逐个取出其中的元素。

 

'''
for循环取字符串中的元素
'''
a = 'bravehearthearmeroar'
print(type(len(a)))
for i in range(len(a)):
    print(a[i], end=' ')  # b r a v e h e a r t h e a r m e r o a r 

 

9、杂项

字母转大写,字母转小写

大写:upper(),小写:lower()

 

判断是否已symbol开头   startswith( "symbol"),

判断是否以symbol结尾   endswith( "symblo")   结果为布尔值。

 

isdigtal( “”symbol”)  判断symbol中传入的值,是否是数字

注意:输入浮点数也不行,isdigtal只能判断是否是int型整数

a = '2.1'
print(a.isdigit())  # False

  

(“分隔符”).join( 可迭代对象)

join方法的应用原理:将可迭代对象中的每个元素,按照分隔符拼接成字符串

for example:

a = 'bravehearthearmeroar'
print('|'.join(a))  #b|r|a|v|e|h|e|a|r|t|h|e|a|r|m|e|r|o|a|r

 

replace(" 旧 "," 新 ")   将字符中所有的旧的元素,换成新的元素

a = 'bravehearthearmeroar'
print(a.replace('he', '**'))  # brave**art**armeroar

 

10、center( (int型)个数,‘symbol’)

a = '欢迎光临'
print(a.center(15,'8'))  # 888888欢迎光临88888
print(a.center(14,'-'))  # -----欢迎光临-----

  

字符串是有序的,不可变的,存储的是一个值

 

 

三、列表

1、列表取值:列表通过索引取值,不仅可以取值,还可以通过索引改值。

2、索引切片:

l1 = [0,1,2,3,4,5,6,7]
print(l1[1])  # 1
print(l1[1:4])  # [1, 2, 3]
print(type(l1[1:4]))  # <class 'list'>

索引切片,取出来的东西是列表

 

3、列表的增加操作

.append( "追加一个值"),追加在列表的最后

.insert( 指定索引,‘插入的值’)

.extend( 可迭代对象)   通过可迭代对象,传入可迭代对象中的所有值

'''
append
insert
extand
'''
l1 = [0,1,2,3,]
l1.append('append')                          # [0, 1, 2, 3, 'append']
print(l1)
l1.insert(3,'insert3')        #insert(指定索引值,插入内容)
print(l1)                                # [0, 1, 2, 'insert3', 3, 'append']
l2 = ['extend1','extend2']    # l2是可迭代对象iterable
l3 = range(4)           # l3是可迭代对象iterable
l1.extend(l2)
print(l1)                                # [0, 1, 2, 'insert3', 3, 'append', 'extend1', 'extend2']
l1.extend(l3)
print(l1)                                # [0, 1, 2, 'insert3', 3, 'append', 'extend1', 'extend2', 0, 1, 2, 3]

  

4、列表的删除操作

remove(指定的值)   直接从列表中删除指定的值,此方法不通过索引

pop(索引)      如果pop方法中不传值,则从最后倒着删除,如果传索引,则删除索引处的值

'''
remove
pop
'''
l1 = [0, 1, 2, 3, 4, 5, 6]
a = l1.remove(3)
print(a)  # None   不返回参数
print(l1)  # [0, 1, 2, 4, 5, 6]
b = l1.pop()
print(b)  # 6  未指定pop的参数,所以删除最后一个,并能返回删除的值
print(l1)  # [0, 1, 2, 4, 5]
c = l1.pop(1)
print(c)  # 1
print(l1)  #  [0, 2, 4, 5]

 remove没有返回值;pop有返回值

 

 

 

 

 

 

 

 

 

posted @ 2019-11-05 17:56  HEU葉孤城  阅读(148)  评论(0编辑  收藏  举报