基本数据结构(int,布尔,字符串,列表)

回顾:
T='我是%s,进度100%%'%('姓名')
字符串格式化内想要输出%,需要写两个%%

================今日内容================

- 整数    int类   int() 

  -x.bit_length()

    #用最短的二进制表示十进制的值,输出二进制位数   

#示例
v=15 data=v.bit_length() print(data) #输出15用二进制表示的位数,4

- 布尔值  bool类  bool()

  -bool()中0与''输出False,其他都是输出True

- 字符串  str类   str()

 -类功能

  -大写功能:  x.upper()

#示例
v1='alex'
v2=v1.upper()
print(v2)   #v2全部变大写 ALEX

  -小写功能:  x.lower()

#示例
v1='alEx'
v2=v1.lower()
print(v2)       #v2全部变小写

  -首字母变大写:  x.capitalize()

#示例
v1='alex'
v2=v1.capitalize()
print(v2)       #输出 Alex

  -去除首尾空格:  x.strip()

#示例
v1='      alex      '
v2=v1.strip()
print(v2)        #输出:alex
#示例
name=input('请输入:')
v=name.strip()
if v=='alex':
    print('进入')

  -去除左边或右边空格:  x.lstrip()或x.rstrip()

  -替换:   x.replace('a','b')  #a为x中原值,b为替换值

#示例
v1="SCII第一次以规范标准的型态以规范标准的型态以规范标准的型态" v2=v1.replace('标准','####') print(v2) 输出:SCII第一次以规范####的型态以规范####的型态以规范####的型态

  -分割:  x.split('a')         # x中以a进行分割,产生列表

     x.split('a',n)     # x中以第n个a进行分割,产生列表

#示例1
v1="SCII第一次以规范标准的型态以规范标准的型态以规范标准的型态"
v2=v1.split('标准')
print(v2)      #输出: ['SCII第一次以规范', '的型态以规范', '的型态以规范', '的型态']
#示例2
v1="SCII第一次以规范标准的型态以规范标准的型态以规范标准的型态"
v2=v1.split('标准',2)
print(v2) #输出: ['SCII第一次以规范', '的型态以规范', '的型态以规范标准的型态']

  -判断当前字符串中是否全部是数字:  x.isdecimal()   ;注:x.isdecimal()  输出的是True/False

#示例
v1='123'
v2=v1.isdecimal()
print(v2)          #输出: True
#示例:查看字符串v中有几个数字
v='asdf1w34f55'
a=0
for i in v:
 if i.isdecimal(): 
  a+=1
print(a)

  -注:str类中的对原对象的操作,都不会改变原对象,只会生成一个新对象

 -公共功能

  -计算当前字符串长度:  len(x)   

#示例
v='徐芳名sdf'
v1=len(v)
print(v1)       #输出: 6

   -注:字符串的长度len(x)与字符串的位数是不同的,长度为6的字符串,最后一位是5,因为字符串中数位从0开始

  -索引:列举字符串中对应的值

   -单个值的索引: v[0]        #字符串中数位从0开始,可用-1代表最后一位

#示例
v = "ASCII第一次以规范标准的型态发"
v1=v[0]
print(v1) #输出: A

   -多个值的索引:v[0:6]      #左边是起始位(包含),右边是终值为(不包含)

#示例
v = "ASCII第一次以规范标准的型态发"
#v1=v[0:-1]           #输出:ASCII第一次以规范标准的型态
#v1=v[0:]              #输出:ASCII第一次以规范标准的型态发
#v1=v[0:1]            #输出:A
print(v1)

   -根据步长,索引多个值: v[1:15:3]       

               #3是步长,表示空2个字符 ;#1或不写步长,表示步长为0

#示例
v = "ASCII第一次以规范标准的型态发"
v1=v[1:15:3]
print(v1)          #输出:SI次范的
#示例
#字符串 "ASCII第一次以规范标准的型态发"遍历输出
v = "ASCII第一次以规范标准的型态发"
i=0
a=len(v)
while i<a:
    print(v[i],)    #输出A
i+=1 #输出S
             ....

   -for循环: for i in v:       #将v中的每一个元素,都给挨个给i赋值一遍

#示例
v = "ASCII第一次以规范标准的型态发"
for i in v:
    print(i)           #输出:A
                       #输出:S
                       ......

=====================整数int,字符串str,布尔bool三者的转换===================

- 字符串或布尔值 -> 整数      int(字符串或布尔值)

 - int(字符串):只能是纯数字的字符串才可转化成整数,含字符报错

 - int(布尔值):True为1,False为0

- 字符串或整数   -> 布尔值    bool(字符串或整数)

 - bool(字符串):空字符串''为False,其他为True

 - bool(整数):0为False,其他为True

- 整数或bool值 -> 字符串

#示例
v=' '
a=bool(v)
print(a) #输出: True
#示例
#a=1 or 0 #输出:1

#a=0 or 2 #输出:2
#a=1 and 2 #输出:2
#a=0 and 1 #输出:0
print(a)      

=======================================================================

- 列表 list类  

 - 类功能

  - 列表中追加一个值(修改本身):   x.append('aaa')  #在x列表中最后添加一个新元素'aaa'

#示例
v = [11,22,33,44,"蒋毅"]
v.append('aaa')
print(v) #输出: [11,22,33,44,"蒋毅",'aaa']

 

#示例
#往列表v中添加用户输入元素,只要用户输入q不分大小写,程序结束输出列表
v=[]
while True:
    a=input('请输入:')
    if a.lower()=='q':
        break
    v.append(a)
print(v)

  - 列表内指定位置添加元素(修改本身): x.insert(n,'b')     #往x列表中添加一个'b'值,在n位置   

   - 注:列表中的元素位也是从0开始计数的

#示例
v=[11,22,33,44,"蒋毅"]
a='xxx'
v.insert(3,a) #在v列表的第3位添加'xxx'
print(v) #输出:[11,22,33,'xxx',44,"蒋毅"]

  - 列表中元素反转顺序(修改本身):    x.reverse()    #x列表中所有元素顺序反转

#示例
v=[11,22,33,44]
v.reverse()
print(v)         #输出:[44, 33, 22, 11]

 - 公共功能

  - 计算列表长度:len(x)

#示例
v = [11,22,33,44,"蒋毅"]
a=len(v)
print(a) #输出:5

  - 索引:列举列表中对应的值  #与字符串相同

   - 单个索引:v[0]

   - 多个索引:v[0:5]

   - 根据步长,索引v[0:5:2]

  - for循环:for i in v:    #把v列表中的每个元素遍历给i 

#示例
v = [11,22,33,44,"蒋毅"]
for i in v:
    print(i)      #输出:11
              22

              ...

  - 替换: v[2]='xxx'    #把v列表中的第2位元素替换成'xxx'  ;    v[2:4]=['a','b','c']   #把v列表中的第2位第三位元素替换成'a','b','c'  

#示例
v = ['张勤学','成大经','成绩','刘龙华']
#v[3] = '吴国胜' #输出: ['张勤学','成大经','成绩','吴国胜']
#v[2:4]=['a','b','c'] #输出: ['张勤学','成大经','a','b','c']
#v[2]=['a','b','c'] #输出: ['张勤学','成大经',['a','b','c'],'刘龙华']
#v[2:3]=['a','b','c']  #输出: ['张勤学','成大经','a','b','c','刘龙华']
#v[0:]=
[11,22,33] #输出:[11,22,33]
#v[2:3]='吴国胜' #输出: ['张勤学','成大经','吴','国','胜','刘龙华']
print(v)

  - 删除: del v[n]   #把v列表中的第n个值删除 ;   del v[0:n]  #把v列表中的第0个值到第n-1个值删除

#示例
v = ['张勤学','成大经','成绩','刘龙华'] del v[3] print(v) #输出:['张勤学','成大经','成绩']

  -注:补充

   - 列表中可以是:数字,字符串,布尔值,列表,这些元素可以根据自己的类功能或公共功能进行操作

#示例
li = [11,22,[6,"88991",7],33,True,"蒋毅",55]
#v=li[2][1][4]         #输出:1   
#v=li[2][1].replace('1','5')     #输出: 88995   
#li[1]=33 #输出:
print(v)         

-元祖 tuple类  : 元祖中的元素不能删除
 - 类功能:无

 - 公共功能:与列表一样

  - 计算元祖长度:len(x)

  - 索引元祖元素:x[n]    #与列表相同方法

  - for循环:#与列表相同方法

  - 嵌套:元祖中可以有列表,列表中可以有元祖,元祖中的列表可以进行修改

#示例
#v = (11,22,[11,22,33],33,(9,1,2,"alex"),44)
#v[2][1]=333      #输出:(11, 22, [11, 333, 33], 33, (9, 1, 2, 'alex'), 44)     
#v[2].append(44) #输出:(11, 22, [11, 22, 33, 44], 33, (9, 1, 2, 'alex'), 44)
v[2][0:]=['aa','bb'] #输出:(11, 22,['aa','bb'], 33, (9, 1, 2, 'alex'), 44)

#print(v)

 - 字典  dict类   #用 键值对 储存信息,每个键对应唯一的值,键不可以重复,但值可以重复

 - 类功能

  - 取值: v.get('n')     # 字典v中查看键为'n'的值   #取值功能不会修改字典  #当键不存在时,值为None,不会报错

#示例
v = {
   "k1":'v1', # 键值对
   "k2":'v2', # 键值对
}
#v1=v.get('k1')      #输出:v1
#v1=v.get('k3') #输出:None 但不会报错
print
(v1)

 - 公共功能

  - 字典长度,即键值对个数: len(x)

#示例
v = {
    "k1":'v1', # 键值对
    "k2":'v2', # 键值对
}
v1=len(v)
print(v1)         #输出:2

  - 索引:v['k']  #查找字典v中键为'k'的值,若k存在则输出对应的值,若k不存在则报错

#示例
v = {
    "k1":'v1', # 键值对
    "k2":'v2', # 键值对
}
v1=v['k1']      #输出:v1
v1=v['a']       #输出:报错
print(v1)

  - 替换: v['k']=a    #把a赋值给字典v中'k'键的值,若'k'键存在则替代它原有值,若'k'不存在则创建一个'k'键并赋给它新值a

#示例
v = {
    "k1":'v1', # 键值对
    "k2":'v2', # 键值对
}
#v['k2']=v3        #输出:  {'k1': 'v1', 'k2': 'v3'}
#v['k3']=v3        #输出:  {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
print(v)

  - 删除: del v['k']     #把字典v中键为'k'的键值对删除

#示例
v = {
    "k1":'v1', # 键值对
    "k2":'v2', # 键值对
}
del v['k1']
print(v)         #示例

  - for循环 :for i in v.keys():  #循环v字典中各键给变量i ;   for i in v.values():  #循环字典v中各值给变量i  ;     for a,b in v.items():  #循环字典v中各键值对给变量a(键),b(值) 

#示例
v = {
    "k1":'v1', # 键值对
    "k2":'v2', # 键值对
}
#for i in v.keys():
#    print(i)                #输出:k1,k2....
#for i in v.values():
#    print(i)                #输出:v1,v2....
#for a,b in v.item():
#    print(a,b)                #输出:k1 v1    k2 v2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

  

posted @ 2017-08-19 18:27  JAYWX  阅读(385)  评论(0编辑  收藏  举报