python之列表 元组 字典 字符串

列表

列表是一种有序可重复的序列,可以随意的增/删/改/查,每个元素的位置都分配了一个数字索引,从0 开始,依次递增。

××通过位置索引操作list××

list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1234]
list1[0]    #访问
list2[1:4]  #访问,包含1不包含4
list1[-1]   #访问倒数第一个元素
list[-4:]   #访问从倒数第四个元素开始到最后一个元素
list[2] = 2001  #更新
del list[2]     #删除

××list操作符××

list1+list2     #列表拼接
list3+=list1    #列表拼接
len(list1)      #列表元素的个数
min(list)   #返回列表最小值
max(list)   #返回列表最大追值
list(元祖)   #将元组转化成列表
['Hi!'] * 4     #结果['Hi!', 'Hi!', 'Hi!', 'Hi!']
3 in list       #元素3是否存在于list中,存在返回True,否则返回False,经常那个用在if或while的条件判断中
for x in list1: print(x, end=" ")  #迭代,x一次取值list1中元素的值

××list操作方法××

list.append(”abc“) #在列表末尾追加新的对象,对象可以是任意类型,比如列表,元组,字典等都可
list.count('Google') #统计元素'Google'在列表中出现的次数
list.extend(seq)     #跟符号 + 的功能类似,将seq的元素依次拼接到list的末尾
list.index('Google')  #返回'Google'第一次  出现的索引位置  
list.insert(3, "abc") #将元素"abc"插入到位置3处
list.pop()  #移除列表中的最后一个元素,并返回该元素
list.remove(obj) #移除值obj的第一次匹配
list.clear()  #清空列表list
list.copy()   #复制列表list

元组

元组和列表类似,不同之处在于元组的元素不能修改,但访问,拼接,清空都还是可以的

tup1 = ('Google', 'Runoob', 1997, 2000)   #创建元组
tup2 = "a", "b", "c", "d"       #   创建元组时可以不加括号
tup13= (50,)        #元组只有一个元素时,元素后使用逗号

访问元组跟list一样,tuple[1] tuple[-1] tuple[1:5]
元组中的元素是不能被修改的,但是我们可以拼接,tup1 + tup2
元组中的元素是不能被删除的,但是我们可以清空,del tup

元组运算符

运算符结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)元组拼接
(‘Hi!’,) * 4(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)复制
3 in (1, 2, 3)True判断元素是否存在
for x in (1, 2, 3): print (x,)1 2 3迭代
**内置函数**
len(tuple)      #元组元素的个数
 max()          #最大值
 min()          #最小值
 tuple(seq) #将列表转化为元组

字典

字典是一种非序列集合,即字典是无序的,可存储任意类型对象。键必须是唯一的且不可改变,但值可以相同,也可改变。

**通过下标访问,修改,增加字典**

dict={'name': 'czz', 'age': 32, 'class': 'first', 1: 'number', (1, 2, 3): 'tuple'}      #定义字典,字典的键类型可以是字符串/数字/元组,但是不能为list
dict['name']                      #使用键值访问字典元素
dict['love']="money"        #键名不存在,则增加元素
dict['name']='tjy'          #键名存在,则修改元素的值为"tjy"
 ```
 **内置函数**

dict={'name': 'czz', 'age': 32, 'class': 'first'} 
len(dict)               #键值对的个数,结果为3
str(dict)               #以字符串形式输出字典,“dict”
type(dict)              #查看字典的类型,输出<class 'dict'>

**内置方法**
dict={'name': 'czz', 'age': 32, 'class': 'first'} 
dict.copy()
dict.fromkeys()
dict.get(’name‘)/dict.get(’name‘,"111")#返回指定键的值,如果键不存在,返回默认值“111”
dict.setdefault('111','111')#如果键存在,返回指定键的值,如果键不存在,将键值对写入字典,并返回对应的值;跟get()类似
key in dict     #判断键值知否在dict中,如果存在返回True,不存在返回False

dict.update(dict2) #将字典dict2内容更新到dict中

dict.items() #python3中,返回的是迭代器,dict_items([('name', 'czz'), ('age', 32), ('class', 'first')]),使用list()获取列表形式的键值对;python3中没有iteritems()函数
dict.keys() #返回一个迭代器,dict_keys(['name', 'age', 'class']),使用list()可获得字典的所有键
dict.values()   #返回一个迭代器,dict_values(['czz', 32, 'first'])使用list()可获得字典的所有值

dict.pop(”name“)        #删除给定键的对应的值
dict.popitem()          #随机返回并删除字典中的一个键值对
dict.clear()        #清空字典

字典的遍历

 dict={'name': 'czz', 'age': 32, 'class': 'first'}
 for (key,value) in dict.items():   #字典遍历键-值
     print(key,value)
结果为:
name czz
age 32
class first

    >>> for items in dict.items():#遍历字典的项
...     print (items)
...
('name', 'czz')
('age', 32)
('class', 'first')

>>> for key in dict:    #遍历字典的键
...     print(key)
...
name
age
class
>>> for key in dict.keys(): #遍历字典的键
...     print(key)
...
name
age
class

>>> for value in dict.values():    #遍历字典的值
...     print(value)
...
czz
32
first

字符串

hahah=

###sort和sorted
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。

sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均有效
sort(key=None,reverse=False) 就地改变列表 reverse:True反序;False 正序

>>> a=[5,4,3,2,1]
>>> sorted(a)
[1, 2, 3, 4, 5]   #产生一个新的排序列表
>>> print(a)
[5, 4, 3, 2, 1]   #sorted()函数,没有改变a的顺序,说明sorted()不是修改的原list
>>> a.sort()
>>> print(a)
[1, 2, 3, 4, 5]  #sort()函数修改了a的顺序,说明是在原来列表上直接修改的顺序
>>> sorted(a,reverse=True)#对列表降序排序
[5, 4, 3, 2, 1]
#当list中的元素是元组时,上面的方法就处理不了了,我们需要用到参数key,也就是关键词,看下面这句命令,lambda是一个隐函数,是固定写法,不要写成别的单词;x表示列表中的一个元素,在这里,表示一个元组,x只是临时起的一个名字,你可以使用任意的名字;x[0]表示元组里的第一个元素,当然第二个元素就是x[1];
>>> a={('b',4),('a',0),('c',2),('d',3)}
>>> sorted(a,key=lambda x:x[1])
[('a', 0), ('c', 2), ('d', 3), ('b', 4)]
>>> sorted(a,key=lambda x:x[1],reverse=True
[('b', 4), ('d', 3), ('c', 2), ('a', 0)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值