zoukankan      html  css  js  c++  java
  • Python List/Tutle/Set/Str/Dict

    name = ['wuchao','jinxing','xiaohu','sanpang','ligang']
    #用中括号括起来的是列表,可以增删改查。
    #列表的元素索引是从0开始的  0  1  2  3 ..
    #
    print(name[3])            #中括号里的是元素的位置
    print(name[1:3])          #取左不取右
    print(name[-1])           #取最后一个
    print(name[1:-1])
    print(name[1:-1:1])       #从左到右一个一个去取  最后一个1是步长
    name2 = name[:]           #切name列表的全部元素
    print(name2)              #此时name2和name一样
    #
    name.append('tianxi')    #增加的元素在列表的最末尾
    name.insert(1,'tianxi')  #1就是将新元素插入的索引值
    #
    name[1] = 'tiantian'     #切片到要更换元素的位置,直接赋值
    name[1:3] = ['tiantian','shiwei'] #多个元素时,需要赋值给列表
    #
    name.remove('jinxing')   #直接删除元素,
    name.pop(1)
    name3 = name.pop(1)    #通过索引删除,并打印出所删除的元素
    name.clear()           #清空该列表所有元素
    del name[0]            #可以删除任意元素和列表(列表直接删除并不是清空列表)
    
    #其他操作
    ['wuchao','jinxing','xiaohu','sanpang','ligang'].count('xiaohu')
    #计算元素出现在列表的次数
    a = [1,2,3]
    b = [4,5,6]
    a.extend(b)            #把列表b放到列表a,b并没有变化
    c = name.index('xiaohu')
    print(c)               #找到元素在列表中的索引
    
    name.reverse()
    print(name)            #将列表中元素位置倒过来
    
    x = [4,5,6,8,1,2,9]
    x.sort()                         #将列表中的数字进行排序
    x.sort(reverse=True)            #列表中的元素排序后再倒过来
    print(x)#[1,2,4,5,6,8,9]
    
    #身份判断
    type(name) is list             #判断name是否是一个列表,list是列表的意思
    
    #元组 typle
    #元组可以理解为只读列表,不同的是[]改为()
    #创建元组是,只有一个元素时,在元素后边加 ,
    
    name = ('wuchao','jinxing','xiaohu','sanpang','ligang')
    print(name[1:3])        #和列表读取一样
    #集合   把不同的元素组成在一起   集合中的元素都是不可变得,而且无序
    #可哈希 = 不可变类型
    #set(可变集合)  frozenset(不可变集合)
    # s = set('abcl li')
    # s1 = ['li','lin','li']
    # print(set(s1))
    # print(s)  #{'b', 'c', 'i', 'a', ' ', 'l'}   (去重复)
    
    li = [2,3,'lin']
    s = set(li)
    # print(2 in s)  #True
    # print('li' in s)  #False
    # s.add('uu')
    # print(s)   # {2, 3, 'uu', 'lin'}
    # s.update('ops')
    # print(s)   #  {2, 3, 'lin', 's', 'p', 'o', 'uu'}
    s.update([12,'eee'])  # {'eee', 2, 3, 12, 'lin'}
    print(s)
    a = set([1,2,3,4,5])
    b = set([4,5,6,7,8])
    print(a.intersection(b))   #{4, 5}   intersection交集
    print(a.union(b))       #{1, 2, 3, 4, 5, 6, 7, 8}   union 并集
    print(a.difference(b))  #{1, 2, 3}   ifference  差集  in a not in b
    print(a.symmetric_difference(b))  #{1, 2, 3, 6, 7, 8}  symmetric_difference 对称差集
    print(a | b)  #{1, 2, 3, 4, 5, 6, 7, 8}
    print(a-b)  #{1, 2, 3}
    print(b-a)  #{8, 6, 7}
    print(a^b)  #{1, 2, 3, 6, 7, 8}
    print(a&b)  #{4, 5}
    print(a.issuperset(b))  #False    判断 a>b
    print(a.issubset(b))     #False   判断 a<b
    #字符串  string
    a = "Let's go"
    print(a)
    print('lilinpei'[3:])   #切片和列表相同
    
    print('li' in  'lilinpei')  #True   判断字符串是否在字符串里
    
    print('linpei is a good teacher')
    print('%s is a good teacher'%'linpei')
    #%s  可替换的字符串(多个字符串用,隔开)  %d  可替换的整形
    
    #字符串拼接
    a = '123'
    b = 'abc'
    c = '---'.join([a,b])   #通过‘---’把拼接的字符串拼接起来,可以为空字符串
    #[a,b]可以,(a,b)也可以
    #字符串内置方法
    #重要的
    st = 'hello kitty {name} is {age}'
    print(st.count('l'))   #查询字符串中'l'的个数
    print(st.startswith('he'))  #判断某个内容是否是开始,True或False
    print('abc'.center(20,'-'))  #--------abc---------,字符串居中,用-填充
    print(st.find('t'))    #寻找内容在字符串中的索引位置,将索引值返回
    print(st.format(name = 'linpei',age = 24))   #(格式化输出的另
    一种方式)在字符串中添加变量,可赋值
    print('  My name
    '.strip())                                #My name
    #print('ok')                  #把开始和结尾的空格和换行符去掉   ok
    print('My name'.replace('n','f',1))     #My fame,替换内容,1为替换次数
    print('My name is linpei'.split(' '))  #把字符串用空格(内容)分成列表
    #['My', 'name', 'is', 'linpei']
    print('abc'.islower())   #判断字符串是否都是小写
    print('ABC'.isupper())   #判断字符串是否都是大写
    
    
    
    
    #只用知道就行
    print(st.capitalize())   #首字母进行大写
    print(st.endswith('y'))    #判断某个内容是否是结尾,True或False
    print(st.expandtabs())
    print(st.format_map({'name':'linpei','age':24}))   #同上
    print(st.index('t'))   #同find形同,找不到该内容后回报错
    print('154651sd'.isalnum())   #判断是否只包含字母或数字
    print('2100'.isdecimal())    #判断字符串是否是10进制
    print('123'.isdigit())     #判断是否是一个整形(整数)
    print('123.13'.isnumeric())  #同上
    print('45abc'.isidentifier())   #判断是否是一个非法变量(不能以数字开头)
    print('  '.isspace())   #判断是否是空格
    print('My Name Is Linpei'.istitle())   #判断字符串中每个单词首字母是否全是大写
    print('ABC'.lower())   #所有大写变小写
    print('abc'.upper())   #所有小写变大写
    print('Abc'.swapcase())  #大写变小写,小写变大写
    print('abc'.ljust(10,'-'))  # abc-------
    print('abc'.rjust(10,'-'))   #-------abc
    print('  My name
    '.lstrip())   #只把左边的空格和换行符去掉
    print('  My name
    '.rstrip())   #只把右边的空格和换行符去掉
    print('My namengr'.rfind('n'))  #从右往左数第一个内容的真实索引值
    print('My namengr'.lfind('n'))  #从左往右数第一个内容的真实索引值
    print('My name is linpei'.split('i'))
    print('My name is linpei'.rsplit('n',2))  #从右到左以第n个内容为分割,n=1
    print('My name is linpei'.title())  #将所有单词的首字母大写
    dic两种创建方式
    dic = {'name':'linpei','age':24,'hight':170,'hobby':'girl'}
    dic1 = dict((('name','linpei'),('age',24)))
    print(dic)
    print(dic['name'])   #通过键来取出
    #字典里可以是任何类型
    #'name':'linpei',,,,name叫做键,是一定只能为不可变类型,'linpei'为值
    #不可变类型:整形,字符串,元组
    #可变类型:列表,字典
    #
    dic['red'] = 'what'   #增加一个键值对
    dic.seteefault('when',57)  #如果键相同,则添加不成功
    ret = dic.seteefault('age',58)
    print(ret)    #键相同,则返回字典中的值
    #增加的键字典中不存在时,返回新加的值
    #查     通过键来查找值
    print(dic['name'])  #查找键对应的值
    print(dic.keys())   #查字典中所有的键
    print(dic.values()) #查字典中所有的值
    
    print(dic.items())  #取字典中所有的键值对
    #
    dic['age'] = 55   #更改age
    dic.update(dic1)   #将dic1增加到dic,dic1不变,如果dic1中存在dic中的键,将会覆盖
    #
    del dic['name']  #删除整个键值对
    dic.clear()       #清空字典
    dic.pop('age')   #删除键值对后输出删除的值
    dic.popitem()    #随机删除一组键值对,并以元组方式返还值
    
    #其他操作字典的方法
    dic = dict.fromkeys(['host1','host2','host3'],['test1','test2'])
    print(dic)  #dic = {'host1': ['test1', 'test2'], 'host3': ['test1', 'test2'], 'host2': ['test1', 'test2']}
    dic['host2'][1] = 'test3'
    print(dic)  #{'host2': ['test1', 'test3'], 'host1': ['test1', 'test3'], 'host3': ['test1', 'test3']}
    
    #字典嵌套
    av_catalog = ["欧美"]["www.youporn.com"][1] = "质量很好"
    #字典排序
    print(sorted(dic))  #对键排序,打印键
    print(sorted(dic.values()))  #对值排序,打印值 数字和字符串不能比较
    print(sorted(dic.items()))   #对键排序,打印键值对
    #字典的遍历
    dic = {'name':'linpei','age':24}
    for i in dic:         #age 24    name linpei    效率高
        print(i,dic[i])
    for i,v in dic.items():
        print(i,v)         #age 24   name linpei    效率低
  • 相关阅读:
    load custom class in drupal 8
    HEAD in Git
    composer version constraint 版本号前缀
    如何测试
    看待一段数据
    创建一个plugin
    eclipse的快捷方式
    .git文件夹的猜想
    本地可以但远程不行
    方法点不进去的原因
  • 原文地址:https://www.cnblogs.com/linpei/p/10980390.html
Copyright © 2011-2022 走看看