list,tuple,set,dict基础
list
# @Auther : chen
# @Time : 2018/4/26 19:55
# @File : list_ex.py
# @SoftWare : PyCharm # list1 = [1,2,3,4,5,6,7,8,9,0]
# random.shuffle(list1)
# print(list1)
# for i in list1:
# print(i) name_list = ['alex','bill','chris','eve','frank','ray','suker']
name_iter=iter(name_list)
print(name_iter.__next__())
# print(name_list.index('chris'))
# name_list.insert(4,'jack')#指定位置插入
# print(name_list)
# name_list.reverse()#list 反转
# print(name_list)
# name_list.remove('eve')#删除指定的值
# print(name_list)
# name_list.pop()#删除一个列表尾部数据
# name_list.sort()#按顺序排列原list
# chg_list = sorted(name_list)#排序
# name_list.append('alex')#尾部追加
# print(name_list)
#删除列表中指定的值
# for val in range(name_list.count('alex')):
# name_list.remove('alex')
# print(name_list)
#切片 顾头不顾尾
# list_src = [1,2,3,4,5,6,7,8,9,0]
# print(list_src[0:3])
# print(list_src[:3])
# print(list_src[-3:-1])
# print(list_src[-3:])
# print(list_src[0:9:3])
#列表拼接
# name_list = name_list + list_src
# print(name_list)
# list_src.extend(name_list)
# print(list_src)
# list1 = [0,1,2,3,4,5,6,7,8,9,0]
# list2 = 'ray chen'
# list1.extend(list2)
# print(list1)
# list3 = []
# list3.extend(list2)
# print(list3)
#元组和列表互转
list1 = ['alex','suker','flex']
print(list1.count('alex'))
tuple1 = tuple(list1)
print(list1,tuple1)
list2 = list(tuple1)
print(list2,tuple1) '''
import copy
list1 = [1,2,3,4,5]
list2 = ['a','b','c','d']
for ele in zip(list1,list2):
print(ele)
p1 = ['name',['age',170],'male']
p2 = list(p1)
p2[0] = 'name2'
p2[1][1] = 175
print('--result2--')
print(p1,p2)
p3 = copy.copy(p1)
p3[0] = 'name3'
p3[1][1] = 180
print('--result3--')
print(p1,p3)
p4 = p1[:]
p4[0] = 'name4'
p4[1][1] = 185
print('--result4--')
print(p1,p3)
p5 = p1
p5[0] = 'name5'
p5[1][1] = 190
print('--result5--')
print(p1,p5)
p6 = copy.deepcopy(p1)
p6[0] = 'name6'
p6[1][1] = 195
print('--result6--')
print(p1,p6)
'''
'''
#浅COPY
p1 = ['name',['age',170],'male']
p2 = list(p1)
p2 = copy.copy(p1)
p2 = p1[:]
p2 = p1 '''
'''
L1 = ['A','B','C',['D','E','F'],'G']
L2 = L1.copy()
L2[3][2] = 'F1'
print(L1,L2)
'''
'''
L1 = [1,2,3]
L2 = L1.copy()
L2[1] = 0
print(L1,L2)
'''
'''
import copy
L1 = [1,2,3]
L2 = copy.deepcopy(L1)#copy 一份独立的列表
L2[1] = 0
print(L1,L2)
'''
'''
L1 = [1,2,3]
L2 = L1
L2[1] = 0
print(L1,L2)
'''
'''
L1 = ['A','B','C',['D','E','F'],'G']
L2 = L1.copy()
print(L1,L2)
L1[2] = 'C1'
print(L1,L2)
L1[3][2] = 'F1'
print(L1,L2)
L2[2] = 'B1'
print(L1,L2)
L2[3][1] = 'D1'
print(L1,L2)
'''
'''
L = ['a','b','c','d','e','f']
# insert add
L1 = L.insert(1,'0')
L2 = L.append('g')
#modify
L3 = L[0] = '1'
#delete
L4 = L.remove('g')
L5 = L.pop()
del L[0]
#切片
print(L)
print(L[:5]) #取前5个 == print(L[0:5])
print(L[1:5]) #从下标1取到下标4(顾头不顾尾)
print(L[4]) #取第4个元素
print(L[-1])#取最后一个元素
print(L[-3:])#取最后3个元素
print(L[-3:-1])# 取倒数第二和第三个元素
print(L.count('e'))
L.reverse() #反转
L.sort()#排序
sorted(L)#排序
L.index('e')#打印元素索引
L.extend(L5) #拼接2个列表
print(L)
L6 = L.copy()#复制列表
L.clear()#清空
del L #删除列表
'''
tuple
#tuple比list好的地方
#1.性能优化(immutable会作为常量在编译时确定)(immutable--不可变)
#2.线程安全
#3.可以作为dict的key
#4.可拆包
#tuple 拆包
user_tuple1 = ('ray',27,170)
name,age,height = user_tuple1
print(name,age,height)
user_tuple2 = ('ray',27,170,'shiyan','college')
name,*other = user_tuple2
print(name,other)
#tuple不可变性不是绝对的
user_tuple3 = ('ray',[27,'shiyan'])
print(user_tuple3)
user_tuple3[1].append('college')
print(user_tuple3)
user_dict = {}
user_dict[user_tuple1] = 'ray'
set
#list 转 set
list_1 = [1,3,5,7,9,11,13]
list_1 = set(list_1)
list_2 = {3,7,9,11,2,4,6}
#交集
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_1 - list_2)
#子集/父集
print(list_1.issubset(list_2))
print(list_1.issuperset(list_2))
#对称差集(两个集合中互相不存在的)
print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2)
#添加
string
str1 = 'good good study,day day up'
print(str1.capitalize()) # 首字母大写
print(str1.center(50,'-'))
list1 = ['1','2','3']
print('+'.join(list1))
dict
list,tuple,set,dict基础的更多相关文章
- Python3 与 C# 基础语法对比(List、Tuple、Dict、Set专栏)
Code:https://github.com/lotapp/BaseCode 多图旧版:https://www.cnblogs.com/dunitian/p/9156097.html 在线预览: ...
- Python3 与 NetCore 基础语法对比(List、Tuple、Dict、Set专栏)
Jupyter最新版:https://www.cnblogs.com/dotnetcrazy/p/9155310.html 在线演示:http://nbviewer.jupyter.org/githu ...
- python 容器类型数据 (str list tuple set dict)
# ###容器类型数据(str list tuple set dict) var1 = "今天心情非常美丽" var2 = [1,2,3,4] var3 = ("黄将用& ...
- python基本数据类型(容器)- tuple list dict set
tuple list dict set统称为“容器” 1. 元组tuple 列表list: 1.1 同:元组( ).列表[ ] 都是有序的 1.2 异:元组不能修改,列表可以修改 1.3 注意⚠:如果 ...
- Python之list、tuple、dict、set
参考原文 廖雪峰Python PS:来看看Python中比较特殊的几种数据类型list.tuple.dict.set list list(列表)是Python内置的一种数据类型,它是一种有序.可变的集 ...
- Python学习日记(四)——Python基本数据类型梳理(int、str、list、tuple、dict)
数字(int) 1.创建方式 n1 = 123 n2 = int(123) 2.内存分配 #共同用一个内存地址的情况 n1 = 123 n2 = n1 #用两个内存地址的情况 n1 = 123 n2 ...
- Python学习记录6-list、tuple、dict、set复习
数据类型在一门语言中是非常重要的,所以选择再次学习一下加深记忆.本次主要参考了大神廖雪峰的官方网站,非常感谢大神,讲的很清晰,收获很大. 标准数据类型 Number(数字) String(字符串) L ...
- Python基础-list,tuple,dict,set常用方法及区别
1,列表list 列表定义方式 lis1=[1,2,3,4]#一维数组 lis2=[1,2,3,[4,5,6]]#二维数组 依次多有多维数据,套几层就是几维数组 列表的取值可以通过下标来,下标都是从0 ...
- python基础复习-1-2 数据类型-str、list、tuple、dict
数据类型 数字 引号: 123 数值 '123' 字符串 整数:ini long 范围:(-2**31 - 2**31) num = 123 长整型 long (L) num = 123L 浮点型:f ...
随机推荐
- JSON文件转为Excel
前言 今天在帮老师做年终党统的时候,发现管理平台上没有将正在发展的同志的信息导出功能,只能一个一个点击进去查看,操作起来步骤很多很麻烦,所以我就想到了"扒"一下这个网页,扒下来发现 ...
- laravle6.0-IOC-DI浅谈
1.什么是IOC,DI IOC(Inversion of Control)控制反转:ioc意味着,你将自己设计好的对象交给容器来控制,而不是传统的在你的对象内部直接控制.比如: 人 操控 手机 做一些 ...
- Python 安装包时选择 python版本
安装了两个版本的python 其中一个版本为2.7 专门为python 2.7安装包使用的语句为 升级pip E:\Python27\python -m pip install --upgrade p ...
- 将dubbo中使用的动态代理作为工具类
ReflectUtils package per.qiao.util.javassistUtil; import java.lang.reflect.Constructor; import java. ...
- Pod——状态和生命周期管理及探针和资源限制
一.什么是Podkubernetes中的一切都可以理解为是一种资源对象,pod,rc,service,都可以理解是 一种资源对象.pod的组成示意图如下,由一个叫”pause“的根容器,加上一个或多个 ...
- Centos7.5 安装JDK1.8 步骤
1.下载JDK安装包 先下载好JDK1.8 的安装包,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downlo ...
- CI/CD/Jenkins
Continuous Integration, Continuous Delivery & Deployment (CI/CD) 持续集成.持续部署&持续交付. Jenkins就是一个 ...
- Java内存 模型理解
概述 在正式讲Java内存模型之前,我们先了解一些物理计算机并发问题,然后一点点的引出Java内存模型的由来. 多任务处理在现在计算机操作系统中几乎是一项必备的功能.这不单是因为计算机计算能力强大,更 ...
- 巧用Ajax的beforeSend 提高用户体验--防止重复数据
巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作.具体可参考jQ ...
- 关于linux中关在共享文件的NFS 提示错误解决办法
0. 查看挂载情况命令 : findmnt 1. 如果在客户机上遇到如下这样的提示错误,有可能的原因是因为没有安装nfs-utils 只需要yum install nfs-utils 就解决了 ...