pyhton 基础(一)

Python中常见的数据结构可以统称为数据容器(container)。序列(如列表)、映射(如字典)以及集合(set)是三类主要的容器。

一、序列。

序列中的每个元素都有自己的编号。Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。下面重点介绍下列表、元组和字符串。

每种序列类型都有相同的内置方法,如支持 index(),str[0] 显示索第个位置上的数据等。

1,列表
#创建: 
a = list()
b = lone['tao',124,'zhong']
​
data = [2**i for i in range(64) ]
等价于
data=[]
for i in range(64):
  data.append(2**i)
#修改列表中元素的值:
a.[1] = 'hello'       #按照索引筛选 
​
a.remove('124')    #按照元素值修改,先删除这个元素,在添加一个
a.insert(1,'124')
​
#增加列表元素
a.append('world')    #列表末尾追加
a.insert(2,'world')    #列表中索引为2的地方添加
a.extend('an','sible')    #添加多个元素,也可以合并列表
a.extend(b)        #合并列表
​
#删除
a.remove('tao')        #删除列表中的元素的值
a.remove(a[0])        #按索引的位置删除
re = a.pop()                #删除最有一个元素的值,并且返回值就是元素值
re = a.pop(1)               #按照索引位置删除,并且可以返回结果
2,元组

元组最大的特点是数据中的元素不可变。所以没有append(),remove()等方法。 常用在创建初始化配置的时候,可以用元组存储数据。

#元组切片操作
a = ('ansible','hello','world')
print(a[1:])      #打印第二个元素到最后一个元素的值
3,字符串 
#定义
str1 = 'woshi'
str2 = 'naritor'
​
#增加,使用join()方法
s1 = '--'.join(str1)
s2 =s1+s2
print(s1)
​
#删除
#字符串中实现元素的删除,是使用 replace()方法实现的,将需要删除的元素替换成空
print('删除字符串中的"i":'+ str1.replace('a',''))
#或者使用strip()从字符串两端开始删除字符,直到没有匹配的字符,(默认删除空格符)
# lstrip,rstip(),从左端和右端开始删除字符
print('删除两端为”r,n,a“的字符:'+ str2.strip('rna'))
​
#修改替换
print('将h替换为H:'+ str1.replace('i','H'))
​
#字符串分割
'''
str.split(delimiter=" 换行和空格 ", num="-1")
delimiter 指分隔符,默认是换行和空格
num 指分割次数,默认是-1,及,分割所有
'''
str3 = 'ansible\npython'
​
s4=str3.split('\n')     #设置以换行符为分隔符 
# s_default=str1.split()        
print(s4)

4,通用序列的操作

  • 索引:str[0],表示输出第1个元素,列表和元组都一样适用

  • 分片:str[1:],输出第二个元素到最后一个元素的值,元组和列表都适用

  • 序列相加:str1+str2 ,将两个字符串合在一起,同样试用于列表和元组

  • 乘法:

  • 成员判断:in 和 not in ,如果值在序列里面就返回true,不在就返回false

  • 长度,最大值,最小值 len(),max(),min() 方法

 

二、字典

映射中的每个元素都有一个名字,如你所知,这个名字专业的名称叫键。字典(也叫散列表)是Python中唯一内建的映射类型。

#创建字典,也有2种对应的方法
#1,通过关键字 dict 创造的字典,后面接小括号,dict1为字典的对象,用 “=” 创建确定键值对
dict1 = dict(qw='nginx',er='heng',vim='yang')
# 用小括号确定键值对,这样创建必须加上中括号
dict2 = dict([('id',233),(34,'["t",a,o]')])
# print(dict2)
​
# 使用大括号直接创建字典
# python中的键必须为不可变对象,字符串的话要加引号,数值就可以不用了, 字典中的有列表的情况下,列表中的元素不加引号,或者加双引号才能正常使用
dict3 = {'ao':'eng',5:'[2,"hello"]'} 
​
#查看字典种的元素
print(dict1['qw'])
print(dict1.get('qw','arg2'))       #用内置的get()方法查看value值,如果key不存在,则返回第二个参数的值
​
k=dict1.keys()          #字典中的key 组成的列表,但type 是 'class',可以用for循环放到一个真正的列表中
v=dict1.values()        #字典中的value 组成的列表
it=dict1.items()        #字典中的键值对 组成的列表
print(k,v,it,sep='\n')
# print(type(k))
​
#将dick_keys 放到一个真正的列表里
keys = list()
for key in dict1.keys():
    # print(key)
    keys.append(key)
print(keys)
​
#删除
del dict3['ao']             #使用del 方法删除字典种的键值对
​
res = dict1.pop('qw','result')  #使用pop() ,当键'qw'存在的时候,返回k的value值,不存在时返回值为result 
print(res)
​
r = dict1.popitem('deng','这个键不存在')      #删除最后一个键值对,返回值也是这个键值对
print(r)
​
dict1.clear()               #清空字典
​
原文地址:https://www.cnblogs.com/fengfengyang/p/15677158.html