4、列表:

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含

import copy

i=0

#persons=['dailaoban','xiekeng',['age',100,50],'pangge','xiuchuan']

persons=['dailaoban','xiekeng','pangge','xiuchuan']

#---------------  查看  ------------

'''print(persons)

print(persons[1])   #打印xiekeng

print(persons[1:3])   #打印xiekeng和pangge(顾头不顾尾)

print(persons[-1])   #打印xiuchuan

print(persons[-3:-1])   #打印后两个     错了打印的是中间两个

print(persons[-2:])     #打印后两个     0和-1可以不用输入

'''

#--------------  增加  ------------

'''persons.append('xiaojianjian')    #在最后增加

print(persons)

persons.insert(1,'xiaopang')      #在1的位置增加

print(persons)

'''

#--------------  修改  ---------------

'''persons[1]='xiezhenkeng'       #将xiekeng改为xiezhenkeng

print(persons)

'''

#--------------  删除  ---------------

#persons.remove('xiuchuan')         #删除xiuchuan

#print(persons)

#del persons[2]                     #删除pangge

#print(persons)

'''persons.pop()                       #默认删除最后一个

print(persons)

persons.pop(1)                      #删除xiekeng

print(persons)

'''

#--------------  查找位置  -------------------

'''print(persons.index('xiuchuan'))              #输出xiuchuuan的位置是3

print(persons[persons.index('xiuchuan')])       #输出xiuchuan

'''

#--------------  排序  ----------------

#persons.sort()                         #默认排序按ASCII码排序

#print(persons)

persons.reverse()                      #翻转

print(persons)

#--------------  拼接  ------------------

'''persons2=[1,2,3,4]

persons.extend(persons2)

print(persons,persons2)

'''

#--------------  清除  ------------------

'''persons2.clear()

print(persons2)

'''

#--------------  复制  --------------------

#p1=persons.copy()

#print(p1)

#persons[1]='xiezhenkeng'

#p2=persons.copy()

#print(persons,p1,p2)

#persons[2][0]='name'

#p3=persons.copy()

#print(persons,p1,p2,p3)               #浅层复制    只复制第一层,第二层该怎么变还怎么变

#--------  深层复制  -------

'''

p2=copy.copy(persons)

p3=copy.deepcopy(persons)             #深层复制     所有层都是复制原列表改变,复制列表不会改变

persons[2][0]='name'

persons[1]='xiezhenkeng'

print(persons,p2,p3)

#----------------  跳切片  -----------

print(persons[0:-1:2])

print(persons[::2])

print(persons[2][2])

#---------------  循环  ---------------

for name in persons:

print(name)

'''

5、元组(不可变列表):

创建元组:

ages = (11, 22, 33, 44, 55)或ages = tuple((11, 22, 33, 44, 55))

6、字典:

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度

info = {

'stu1101': "TengLan Wu",

'stu1102': "LongZe Luola",

'stu1103': "XiaoZe Maliya",

}

b={'stu1101':"alex",

2:3,

4:5}

info.update(b)               #合并两个字典,把key重复的覆盖

print(info)

print(info.items())          #把字典转成列表

#----------------------------------------------------

c=dict.fromkeys([6,7,8],[1,{"name":"alex"},444])   #初始化一个新字典

print(c)

c[6][1]["name"]='jack'     #你以为只修改了一个,但其实全改了

print(c)

#-------------  增加  ----------------

info["stu1104"]="canglaoshi"

print(info)

#-------------  修改  ---------------

info['stu1101']="武藤兰"

print(info)

#-------------  删除  ----------------

'''

info.pop('stu1101')     #标准删除

print(info)

del info['stu1102']     #万能删除

print(info)

info.popitem()          #随机删除

print(info)

'''

#-------------  查找  -----------------

print(info['stu1102'])   #如果key不存在就会报错

print("stu1105" in info)   #存在为true,不存在为false  在py2中  info.has_key("stu1105")

print(info.get('stu1102'))  #存在就输出,不存在为None

#------------  循环  ------------------

for i in info :         #只循环key

print(i,info[i])

for k,v in info.items() :    #此方式少用

print(k,v)

#-----------  嵌套  -----------------

av_catalog = {

"欧美":{

"www.youporn.com": ["很多免费的,世界最大的","质量一般"],

"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],

"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],

"x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]

},

"日韩":{

"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]

},

"大陆":{

"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]

}

}

av_catalog["大陆"]["1024"][1] = "可以在国内做镜像"

print(av_catalog["大陆"]["1024"])

av_catalog.setdefault("taiwan",{"www.baidu.com":[1,2]})# 不存在的记录会添加

av_catalog.setdefault("大陆",{"www.baidu.com":[1,2]})# 已存在的不做修改

print(av_catalog)

#-------------------------------------------------------------

print(info.values())

print(info.keys())

7、集合:

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

list_1=[1,4,5,7,3,6,7,9]

list_1=set(list_1)

list_2=set([2,6,0,66,22,8,4])

print(list_1,type,list_2)

#交集

print(list_1.intersection(list_2))

print(list_1&list_2)

#并集

print(list_1.union(list_2))

print(list_1|list_2)

#差集

print(list_1.difference(list_2))

print(list_2.difference(list_1))

print(list_1-list_2)

print(list_2-list_1)

#子集

list_3=set([1,3,7])

print(list_3.issubset(list_1))              #判断list_3是否是list_1的子集

print(list_1.issuperset(list_3))            #判断list_1是否是list_3的父集

#对称差集

print(list_1.symmetric_difference(list_2))  #保留list_1和list_2中不重复的数据

print(list_1^list_2)

#--------------------------------------------

print(list_2.isdisjoint(list_3))            #如果二者无交集则返回True

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#添加

list_1.add(999)                         #添加一项

list_1.update([888,777,555])            #添加多项

print(list_1)

#删除

list_1.remove(555)                      #删除指定值,如果不存在会报错

print(list_1)

print(list_1.pop())                     #随机删除一个值并返回该值

list_1.discard(999)                    #删除指定值,如果不存在不会报错

list_1.discard(1000)                    #删除指定值,如果不存在不会报错

print(list_1)

#长度

print(len(list_1))

#测试是否是集合/字典/列表的成员

print(5 in list_1)

8、字符串操作(不可修改):

name = "my \tname is {name} and age is {age}"

print(name.capitalize())  # 首字母大写

print(name.count("a"))  # 计算"a"出现的次数  2

print(name.center(50, '-'))  # 打印50个字符,不足用'-'补足-----------------my name is alex------------------

print(name.endswith("ex"))  # 判断是否以'ex'结尾,是返回True,否返回False

print(name.expandtabs(tabsize=30))

print(name.find("name"))  # 字符串也可以切片,同列表

print(name[name.find("name"):])

print(name.format(name='alex', age=23))  # 格式化输出

print(name.format_map({'name': 'alex', 'age': 23}))

print(name.index('n'))  # 输出下标,同列表

print('ab23'.isalnum())  # 判断是否包含阿拉伯数字

print('ab23/'.isalnum())  # 不能有特殊符

print('abA'.isalpha())  # 是否只有英文字母

print('1'.isdecimal())  # 判断是否是十进制

print('1'.isdigit())  # 是否是整数

print(name.isidentifier())  # 判断是不是一个合法的标识符

print(name.islower())  # 判断是不是小写

# print('33'.isnumeric())                #判断是不是只有数字

print(' '.isspace())  # 判断是不是空格

print('My name'.istitle())  # 返回False

print('My Name'.istitle())  # 返回True

print('My Name'.isprintable())  # 判断能否打印

print('My Name'.isupper())  # 判断是否全是大写

print(''.join(['1', '2', '3']))  # 把列表变成字符串

print(name.ljust(50, '*'))  # 打印长度50,不足用*在后面补足

print(name.rjust(50, '-'))  # 打印长度50,不足用*在前面补足

print('Alex'.lower())  # 把大写变成小写  alex

print('Alex'.upper())  # 把小写变成大写  ALEX

print('\nAlex'.lstrip())  # 去掉左边的换行

print('\nAlex\n'.rstrip())  # 去掉右边的换行

print('\n  Alex\n'.strip())  # 去掉两边的换行和空格

p = str.maketrans("abcdef", '123456')

print("alex li".translate(p))  #

print('alex li'.replace('l', 'L'))  # 替换

print('alex li'.replace('l', 'L', 1))  # 替换一个

print('alex li'.rfind('l'))  # 找到最右边的字符并返回下标

print('alex li'.split())  # 默认按空格把字符串分成列表

print('1+2+3+4'.split('+'))  # 按'+'把字符串分成列表

print('1+2\n+3+4'.splitlines())  # 按换行把字符串分成列表

print('alex'.startswith('a'))  # 判断是否以'a'开头

print('Alex Li'.swapcase())  # 大写变小写,小写变大写

print('alex li'.title())  # 首字母变大写

print('alex li'.zfill(50))  # 不足50用0填充

print('1.0'.isnumeric())

python基础(二)-- 列表、字典、集合、字符串操作的更多相关文章

  1. Python基础2 列表 字典 集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  2. Python基础2 列表 元祖 字符串 字典 集合 文件操作 -DAY2

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  3. Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作

    1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...

  4. python基础(五)列表,元组,集合

    列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...

  5. 关于Python元祖,列表,字典,集合的比较

      定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'], ...

  6. Python基础知识--列表和集合

    列表:有序性,可以存放任意类型的对象,通过索引访问,可以分片操作 >>> L = ['id', 1000, 'scd', 1000, 'scd'] >>> L [' ...

  7. python基础(六)dict字典和文件操作open

    字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...

  8. python基础之列表以及切片等操作

    列表 定义: 能装对象的对象,列表能放大量的数据,各种类型,且列表内的数据是可以修改保存的,常用 [ ] 去表示,每一项数据之间用逗号隔开 1.列表的索引与切片 1.1 索引 与字符串的索引几乎一致, ...

  9. Python基础灬列表&字典生成式

    列表生成式 # 求1~10偶数的平方 # 1.常规写法 a_list = [] for i in range(1, 11): if i % 2 == 0: a_list.append(i * i) p ...

  10. python中元组/列表/字典/集合

    转自:https://blog.csdn.net/lobo_seeworld/article/details/79404566

随机推荐

  1. Djiango-富文本编辑器

    借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的.所见即所得的页面.此处以tinymce为例,其它富文本编辑器的使用也是类似的. 在虚拟环境中安装包. pip install ...

  2. reshape()函数

    """ 1.当原始数组A[4,6]为二维数组,代表4行6列. A.reshape(-1,8):表示将数组转换成8列的数组,具体多少行我们不知道,所以参数设为-1.用我们的 ...

  3. python的readline() 和readlines()

    .readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样..readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python ...

  4. 关于吲哚美辛(NSAIDS)对袢利尿药的影响。

    吲哚美辛 一方面是解热镇痛抗炎药,是最强的PG合成酶抑制药之一,另一方面,吲哚美辛可于袢利尿药如呋塞米.依他尼酸竞争近曲小管有机酸分泌途径,可以影响后者的排泄和作用. 吲哚美辛可以抑制前列腺素的合成, ...

  5. 14-Flutter移动电商实战-ADBanner组件的编写

    拨打电话的功能在app里也很常见,比如一般的外卖app都会有这个才做.其实Flutter本身是没给我们提供拨打电话的能力的,那我们如何来拨打电话那? 1.编写店长电话模块 这个小伙伴们一定轻车熟路了, ...

  6. LeetCode 723. Candy Crush

    原题链接在这里:https://leetcode.com/problems/candy-crush/ 题目: This question is about implementing a basic e ...

  7. H5利用formData来上传文件(包括图片,doc,pdf等各种格式)方法小结!

    H5页面中我们常需要进行文件上传,那么怎么来实现这个功能呢??? 我主要谈如下两种方法. (一).传统的form表单方法 <form action="/Home/SaveFile1&q ...

  8. redis 设置为只读模式

    数据库的只读模式,对于在系统出现重大故障,但是又不影响用户的查询操作还是很重要的 对于redis 设置只读模式需要分不同的场景 master-slave cluster single master-s ...

  9. Phalcon框架的编译安装 内存不足的解决办法

    对症解决 有两种解决方法,一种是提升ECS系统内存.但是却要真金白银跟阿里云去购买的.另一种,则是手动创建swap交换文件.下面来介绍第二种方法. 第一步:首先确定系统是否已经开启swap交换分区: ...

  10. java如何判断溢出

    public int reverse2(int x) { double ans=0; int flag=1; if(x<0){ flag=-1; } x=x*flag; while(x>0 ...