python基本数据类型之,Python运算符及基本数据类型

1、 append追加

    li = [11,22,33,44]

错误方法: v = li.append('alex')
          print(v)      打印出来为none,说明v中为空
因为字符串不能修改,而列表可以直接修改,所以:可以直接写

          li.append('alex')
          print(li)  打印结果为:[...'alex']
  或者: li.append(['alex'])
      print(li)  打印结果为: [...['alex']] 

2、clear清空列表

    li.clear()
    print(li)


3、copy拷贝
    浅拷贝:v=li.copy()
                print(v)


4、count 计算元素出现的次数

    v = li.count(22)
    print(v)


5、extend 扩展原列表
   参数必须是:iterable可迭代对象(能被for循环)

         li.extend([1992,'xiaowang'])
         print(li)
         打印结果为:[...,1992, 'xiaowang']
或者   li.extend('小王同学')
         print(li)
         打印结果为:['小',‘王‘,‘同’, ’学’]    

6、index 获取当前值的索引位置(最左优先)
         v =  li.index(22)
         print(v)
     或者可以选取范围
         v=li.index('alex',1,3)

7、insert 指定索引位置插入元素
     li.insert(位置,插入的值)
     例如: li.insert(0,'alex')
                print(li)


》》》》》》》》》补充《》《》《》《》《》《》
源码中出现:    index索引,value值


8、pop 删除指定位置的值
    不指定索引时,默认删除最后一个值,并获取删除的值
        v = li.pop()
        print(li)
        print(v)
   指定索引时,删除指定位置的值,并获取删除的值
        v = li.pop(1)
        print(li)
        print(v)

9、remove 删除列表中的指定值,左边优先(括号内要填入删除的内容)
        li.remove(11)
        print(li)

10、reverse 反转,将当前列表进行反转
  li.reverse()
    print(li)

11、sort排序
   从小到大排序:
      li.sort()
   从大到小排序
      li.sort(reverse=True)
   欠两个参数:讲函数时补充 cmp, key

 

三、字典 dict

 澳门新葡8455手机版 1

  索引切片删除: del li [2,4]    print(li)

# 其他  真

2、可以进行for循环(可迭代对象)

                 v=’alexalexalex’

5、列表元素可以进行修改

1、

》》》》》》》》两个方法《》《》《》《》《》《
count 获取指定元素在元祖中出现的次数
index 获取某个指定元素的索引,可以设定起始位置查找

4、相互转换:s li tu

10、列表转换成字符串

澳门新葡8455手机版 2

4、extend扩展,在元祖中同样适用

5、

  print(li[2][2][0])

澳门新葡8455手机版 3

  列表中的元素可以是数字、字符串、列表、布尔值、等所有的都能放进去

字符串格式化:
# 一:百分号方式
#  %s 均可接收    %d 只能接收数字类型   %f 浮点数(小数)
# msg = 'i am %s my hobby is %s' %('glh','alex')     # %.2s代表截取字符串的长度为2
# print(msg)

# tpl = 'percent%.2f' %(99.895652)        #2代表保留2位小数
# print(tpl)
# tpl = 'percent%.2f %%'%(99.895652)      # 打印百分比
# print(tpl)
# 
# tpl = 'i am %(pp).2f' %{'pp': 123.456}   #  后边为字典
# print(tpl)
# 
# msg = 'i am %(name)+60s %(age)d'%{'name': 'glh','age': 23}      # +号表示右对齐并补齐60位
# print(msg)
# msg = 'i am \033[46;1m%(name)+60s\033[0m my hobby is alex ' %{'name': 'glh'}        # 加颜色
# print(msg)
# 
# print('root','x','x','o',sep=':')  # 分别得到结果 后拼接成一条记录    结果为  root:x:x:o
# 
# 二 format 字符串格式化

# tpl = 'i am {},age{},{}'.format('glh','23','alex')
# print(tpl)
# tpl = 'i am {2},age{1},{0}'.format('glh','23',['alex',23])      # 相当于按照后面后面元祖索引取值
# print(tpl)

# #  .format('seven',18) == .format(*['seven',18])
# #  .format('seven',18) == .format(**{'seven',18})

# tpl = 'numbers: {:b},{:o},{:d},{:x},{:X},{:%}'.format(15,15,15,15,15,15.89632)
# print(tpl)
# # 结果为numbers: 1111,17,15,f,F,1589.632000%   上述分别代表打印二进制 八进制 十进制 十六进制小写 十六进制大写 转换为百分数,默认保留6位

v = info[key]    例如: v=info[“k1”]

li = ['11', '22', '33', '44','22']
v = li.count('22')                  #  计算‘22 ’出现的次数
print(v)

   tu = (11, ‘alex’,  ( 28, 29 ), 22, [33, 44 ], 55)

 

  若列表中的元素只有字符串,直接用字符串join方法

test='i am {name},age{a}'
v=test.format_map({'name':'alex','a':19})     # 也是格式化,将一个字符串的占位符替换为指定的值。注意格式的准确性,冒号不能少
print(v)

 二、元祖
tuple     

澳门新葡8455手机版 4    程序报错

    print(s)

#  0    假

  li = list(s)

 二者的区别为  若为 ② 则 .isdecimal 为false       . isdigit 为true   

6、删除

 

  索引删除: del li [1]     print(li)

10、

  索引修改: li [ 2 ] =120    print(li)

 

1、列表格式:

澳门新葡8455手机版 5

2、列表中可以嵌套任何类型

必背魔法:

      s=s+str(i)

      print(dic,v)   其中v 为删除的值 
 

8、嵌套列表查询方式

3、

 

3、支持for循环

  print(li[3])           print(li[3:-1])

访问顺序:①:直接访问:数字

  li=[‘小王’,‘小宁’, [a, b, [d, e, f ],  c ], ‘小张’]

.isnumeric 也可识别 汉字‘二’

    li = [12,13,14,’xiaozhang’, ‘xiaowang’]

v = list(tu)     v = ‘_’.join(tu)(
只有字符串时)

         
列表是有序的,列表元素可以被修改

12、

    s=’ ‘

 
 设置值,若key以存在,则不设置,获取当前k对应的值;
不存在时,设置并获取当前K对应的值

7、支持 in 操作

注意:找不到时 结果为-1

 

 

1、循环字典中所有的key
    for item in info.keys():
        print(item)


2、循环字典中的所有values(值)
    for item in info.values():
    prent(item)            


3、既要循环key又要循环字典中所有的值
     for item in info.keys():
        print(item,info[item])

     那么可以简写为:
    for k, v in info.items():
        print( k, v )

《》《》《》《》字典的方法《》《》《》《《》》
1、clear 清空

2、copy 浅拷贝

3、fromkeys  根据序列创建字典,并且制定统一的值
    用法: v= dict.fromkeys(['k1', 123, 'k2'], 22)

4、通过索引取key,如果字典中没有会直接报错
    get  用法:查找字典的key,key不存在时可以指定默认值

    方法一:
            dic = {"k1":23, "k2": 24}
            v= dic.get("k3")
            print(v)       如果k3不在字典中,则返回None
    方法二:
            dic = {"k1":23, "k2": 24}
            v= dic.get("k3",1111)
            print(v)       如果k3不在字典中,则返回1111      
5、items

6、 keys

7、 pop     删除。既可以指定所要删除的值,又可以拿到删除掉的值

        方法一:
        dic = {"k1":23, "k2": 24}
        v = dic.pop('k1') 
        print(dic,v)
       方法二:设定具体值,当要删除的key不存在时,返回到设置的值
         dic = {"k1":23, "k2": 24}
         v = dic.pop('k5',1111) 
         print(dic,v)   


8、  popitem随机删除,并返回删除的值

       dic = {"k1":23, "k2": 24}
        v,k = dic.popitem() 
        print(dic,v,k)   

9、setdefault设置值,如果值已经存在,并获取存在key对应的值
    如果key不存在,创建并获取新创建的key的值
   例如: dic = {"k1":23, "k2": 24}
             v = dic.setdefault("k111","alex") 
             print(dic,v)

10、update 更新

dic = {"k1":23, "k2": 24}
方法一:dic.update({'k1': 1111, 'k3',123})
            print(dic)
方法二: dic.update(k1=123, k3=345, k5='alex')
            print(dic)   

8、

  “集合“,”内部可以放置任何东西

  s=s+str(item)

  print(li)

六、BOOL值

   v = ‘ ‘.join(li)

num=9%2
print(num)


num=9//2
print(num )

  li = [‘xiaozhang’, ‘xiaowang’]

for item in li

   print (v)

澳门新葡8455手机版,6、删除

  中括号括起来,

2、in 操作

9、字符串转换成列表

5、比较运算

  如果列表中即有数字又有字符串,需要自己写一个for循环

test='alexalex'
v=test.count('ex',5,8)      # 去字符串里寻找子序列('ex')出现的次数,指定寻找的起始 和 结束 位置  注意字符串第一位为0
print(v)

    for i in li :

# ” 空字符为假

  字典的value可以是任何值

注:元祖(一级元素)不可被修改,不能被增加或者删除; 
 有序的;

3、可以通过索引取值,  或者切片取值(切片取值的结果也是列表)

 

  li=[‘alex’, ‘小名’, [12, 23, 45],
23, 23, ‘小花’]

澳门新葡8455手机版 6

2、删除key :   del info[“k1”]

 

  索引切片修改: li [1:3] = [27, 28]

 

info = {"k1": "v1", "k2": "v2"}        键值对

count=count+1  即  count+=1

  元素不可被修改,且元素不能被增加或者删除,但是可以被查看

 

  布尔值,列表、字典不能作为字典的key

 

=================list之灰魔法================

2、

        按照惯例一般在末尾价格逗号来识别

标准为:test.center(width,fillchar=None)

一、列表—-list

同样支持for循环,while 循环

3、因为是可迭代对象:字符串、列表、元祖可以相互转换

 

  v = ‘alex’ in li         print(li)

test='alex'
v=test.endswith('ex')      #  字符串以什么结尾 
print(v)                   #  v=test.startswith('a') 表示字符串以什么开头   

  逗号分隔每个元素,

(2)、列表转化字符串

4、支持for循环,   while循环。

print(v)

1、查找字典内容

li = [11,22,33,22,44]
v = li.pop()                # 默认删除最后一个元素
print(li)                   # 获取删除后的列表
print(v)                    # 获取删除的值
li.pop(1)                   # 删除指定索引的元素
print(li)
print(li.pop(1))

li = [11,22,33,22,44]
li.remove(22)               # 删除指定的元素
print(li)

li.clear()                  # 清空列表
print(li)

5、元祖的一级元素不可被修改,元祖中嵌套的列表可以被修改

in             not in   判断某个东西是否在某个东西中包含。

=====================list类中提供的方法===================

5、

  1、可通过索引取值,切片取值

 

3、for循环

v=”.join(li)

5、元祖是有序的

1、转换功能

  s=’abcdefg’

             key    列表,字典,不可为key
;bool值  True  默认=1   False  默认=0,若是重复是  则不显示

print(a)

7、

for item in info         ==       for item
in into.keys      默认循环‘k’

a='0011'
v=int(a ,base=2)    # base=16/8/2  指代以16进制数,8进制数,2进制数表示a, 若是不写base=  则默认10进制数
print(v)

 

for item in info.values       
循环‘values’

                 
③:映射:字典

使用for语句时:

澳门新葡8455手机版 7

 常用方法:

li = [11,22,33,22,44]
v = li.index(22)                # 寻找当前元素的索引,找到第一个之后就不在找了
print(v)
v = li.index(22,2,4)            # 可加起始位置
print(v)
v = li.insert(0,99)             # 在指定位置0, 插入指定元素99
print(v)

  print(item)

3、逻辑运算

澳门新葡8455手机版 8

b=bool(a )’

count  : v = tu.count(33)    获取元素33 
在 tu中出现的次数

 

2、取值:据K取值,即据索引取到指定元素
,但不可使用切片(因为字典是无序的)。

澳门新葡8455手机版 9

           ‘k4’:(11,22,33)}

澳门新葡8455手机版 10

count=1

test='alexex'
v=test.rfind('ex',2,5)      # 从右往左找,规定范围在>=2,<5,之间,获取其位置, 注意:无论从左往右还是,从右往左数,都是左边第一个字符 索引为0
print(v)

结果为 false

test='    '
v=test.isspace()        # 判断是否字符串全为空格
print(v)

 

 

 

print(s)

澳门新葡8455手机版 11

6、

 

test=input('请输入:')
v=range(0,len(test))
for item in v:
    print(item,test[item])
test='12'
v=test.isdigit()         # 判断字符串是否只包含数字          
print(v)

6 、v = dic.pop(‘k1’,90)   
 找不到K值时,不报错,可指定 90  结果   
注意:不写k时,默认删除最后一个

澳门新葡8455手机版 12

澳门新葡8455手机版 13     一个一个输出

3、删除:据K删除      del info
[‘k3’][‘kk1’]

澳门新葡8455手机版 14

类:元祖   按照元祖类创建的对象 tu ;     
 #  元祖是对列表的二次加工; 
小括号括起来,最后面加一个逗号“,”;

test='124'
v=test.isdecimal()      # 判断字符串是否只包含数字
print(v)

 

 

name='苟陇辉'
 if '苟' in name:
    print('ok')
else:
    print('error')

 if '苟'not in name:
    print('ok')
else:
   print('error')

 

 

1、字典是无序的

test='苟陇辉五六七八九'
v='_'.join(test)        # 将字符串中的每一个元素按照指定分隔符拼接。 注意    .join
print(v)

7、v = dic.setdefault(‘k’,123)   

  ‘转换bool值     

4、

17、

5、

练习题:将用户输入的文字及其对应的索引打印出来。

魔法  

澳门新葡8455手机版 15

         

定义:①:不同元素组成

li = [1,12,9,'age',['苟陇辉',[19,10],'你'],'alex',True]

4、赋值运算

# ‘   ‘  只要里面有东西 就为真

v = 12 in li

index   :   v = tu.index(111)   获取元素
111  在tu中的索引    左边优先

澳门新葡8455手机版 16

 

13、

澳门新葡8455手机版 17

 

 

15、

 

 

 

test='aeiou'
test1='12345'   #  获得对应关系
v='asidou'
v1=str.maketrans('aeiou','12345')       # 替换功能
new_v=v.translate(v1)
print(new_v)

一般方法:

澳门新葡8455手机版 18

test='_123rt'
v=test.isidentifier()       # 判断 标识符 格式是否正确  注意:标识符同字符串规则一样,不能使用数字开头
print(v)

 

list
为类,li为通过list类创建的对象,列表里每一个元素通过, 隔开,中括号
括起来;可以修改,删除

 

name='苟陇辉'
v= '苟' in name
print(v)

user='alex'
pwd=123
v=user=='alex' and pwd==124 or user=='ales'and pwd=='123' print(v)

澳门新葡8455手机版 19

        

 

      dic.popitem  随机删除

a= 1>5

     假: 
空字典,空列表,空元祖,空字符串,0

字符串一旦创建,不可修改;

   print(v)

li = ['11','22','33','44']
li.append(5)            # 直接在原值后面追加一个
print(li)
li.append([99,'苟陇辉'])      # 只将一个整体以列表的形式加进去
print(li)
li.extend([99,'苟陇辉'])       # 将每一个元素都加进去
print(li)

澳门新葡8455手机版 20

2、切片取值:v = tu[0:2]

魔法 

+   –  *  /   **    %  //  

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

CopyRight © 2015-2019 澳门新葡8455手机版 All Rights Reserved.
网站地图xml地图