找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手

11.13 列表 字符串 元组 字典

[复制链接]
pyhton:print: 打印
type: 类型

列表:  [ ]表示,list
字符串:‘ ’  “ ”,str
整形:int
元祖:( )表示,tuple
字典:{ }表示, dict

# 索引和切片[0]
'''转换:如果我当前的变量是一个字符串,我想要把它转换成为列表??
类型:整形int  字符串str  列表list
可以通过类型来转换'''
# a ='hello' #定义一个字符串
# print(type(a)) #<class 'str'> 字符串
# l=list(a) #通过list列表类型将字符串转换为列表
# print(type(l)) #<class 'list'> 列表
# print(l) #['h', 'e', 'l', 'l', 'o']

# l =[1,2,3]#定义一个列表
# c=list('12') #通过类型来定义一个列表
# print(c) #['1', '2']
# print(l) #[1, 2, 3]
# l =[1,2,3,4] # 定义一个列表
# l[3]='hello' #通过索引来对列表对应的索引来赋予一个新的元素
# l[0]='nihao' #通过索引来对列表对应的索引来赋予一个新的元素
# print(l) #打印结果: ['nihao', 2, 3, 'hello']


append——添加一个元素,默认在末尾添加
举例:
l =[1,2,3,4]#定义一个列表
# l.append('hello')
# print(l) #[1, 2, 3, 4, 'hello']

extend——拼接
ls=[1,2,3,4] #定义一个列表
ls_1=[4,6,7] #定义一个列表
ls.extend(ls_1) #通过列表中的拼接函数extend将ls和ls_1进行拼接
print(ls) #[1, 2, 3, 4, 5, 6, 7]
ls_1.extend(ls)
print(ls_1) #[4, 6, 7, 1, 2, 3, 4]

insert——给列表插入对应索引位的值
# l =[1,2,3,4]
# l.insert(3,'hello')
# print(l) #[1, 2, 3, 4, 'hello']

remove——移除掉列表中的某个值 ,多个相同的元素,默认移除第一个
# li=[1,2,3,4,5,6,7]   
# li.remove(4)      
# print(li) #[1, 2, 3, 5, 6, 7]

del —— 删除整个列表

l1=[3,1,5,8,6]
print(sorted(l1,reverse=True)) #[8, 6, 5, 3, 1]
print(sorted(l1,reverse=False)) #[1, 3, 5, 6, 8]
reverse=True降序 从大到小
reverse=False升序 从小到大
sort:升序从小到大

print(l.pop()) #5 直接打印只显示删除掉的那一个元素 默认结尾
# l.pop()
# print(l) #[1, 2, 3, 4] 显示剩余的元素被删除的元素不显示
# print(l.pop(2)) #3 通过索引来删除对应索引的值 只显示被删除的元素
# l.pop(2)
# print(l) #[1, 2, 4, 5] 索引值为2的元素被删除,显示剩余的元素


元组:
元组表达式符号:()   tuple
定义一个元组后元组内的元素是不允许被更改的
如你要更改元组中的元素,那么需要将元组转换成为其它类型,然后在
通过其它类型对元素进行增删改之后,在用元祖的类型转换成元组


列表和元组的区别:重点
区别:列表可变,  类型list(可变集合)
          元组是写保护不可变,类型tuple(不可变集合)
元组在安全性方面要比列表高
通过类型将元组改变,然后在根据具体类型中的方法修改元素,然后在通过
元组的类型转换成元组即可


a=list(t) #通过列表的类型list将t元组进行转换成列表

.insert(4,5) #通过列表中的insert方法插入对应索引对应的元素值

a=tuple(l) #通过元组的类型tuple将列表转换为元组


相同:
a、都是序列类型的容器对象,可以存放任何类型的数据
b、支持切片、迭代等操作
不同:
a、list 是可变的对象,元组tuple是不可变的对象
b、tuple不可变,所以使用tuple可以使代码更安全


'''python中的字典
键和值 键值对
键是唯一  key
值不唯一  value
{} 英文的大括号或者叫花括号来表示
键:值 name:zhansan 键和值关联用英文的冒号: 来关联
如字典中有多个键值对用,逗号来隔离name=zhangsan,age=18....
定义字典的时候:如给与的键或者值非整形:需要加上单或者双引号


dic_t={name:zhang} #非整形别忘记加引号
# dic_t={'name':"zhang"} #定义字典时候单引号双引号同时也行,最好统一
# dic_t={'name':'','':18}#字典值或者键都可以为空
# print(dic_t)#{'name': '', '': 18}
# dic_t={'age':18,'age':19} #键不能相同,值可以相同
# dic_t={1:18,2:'zhangsan'} #字典中直接定义的时候可以为整形3中


通过类型来转换
# l=[(1,2),(3,4)] #第二种方法通过类型来直接转换
# d=dict(l)#通过dict字典类型来把l列表中的值进行转换为字典
# print(d) #{1: 2, 3: 4}
# print(type(d)) #<class 'dict'> 类型为字典


给字典中直接增加键值对的时候需要注意事项:
   增加的键在原有字典中已经存在则不会增加新的键值对,但是会把原有的值改为新的值
   增加的键如果在原有字典中不存在则会新增加对应的新的键值对'''
d={'name':'zhang','age':18}
# d['score']=100
# print(d)


d={'name':'wang','age':18,'score':100}
# print(d.keys()) #dict_keys(['name', 'age', 'score'])取出所有的键
# print(d.values()) #dict_values(['wang', 18, 100])取出所有的值



d={'name':'qian','age':18}
# print(d['name']) #qian 通过键找出值

setdefault方法:设置键值对(增加)
如当前字典中存在相同的键则不改变原有字典中的键对应的值
如当前字典中不存在此键则会新增一个新的键值对
[键]=值  此方法和直接设置区别一个会改变一个不会改变

d={'name':'wang','age':18}#定义一个字典        del  d——直接删除整个字典
# del d['age'] #删除指定的某个键                   
# print(d) #{'name': 'wang'}
# '''键被删除后值也会被删除'''

d={'name':'wang','age':18}#定义一个字典
# for k in d:#通过for循环遍历字典
#     print(k) #只取当前字典中的键:name,age
#
# c={'name':'wang','age':18}#定义一个字典
# for i in c:#通过for循环遍历字典
#     print(i,c) #取到键和值
#
# l={'name':'wang','age':18}#定义一个字典
# for k,v in l.items(): #for循环遍历,引用items方法来提取到键和值
#     print(k,v)#取到键值对name wang  age 18

l={'name':'wang','age':18}#定义一个字典
# l.pop('name') #通过pop函数删除指定的键返回剩余的键值对
# print(l) #{'age': 18}
# print(l.pop('name')) #wang 显示删除键对应的值
  

# di={'name':'wang','age':18}#定义一个字典
# di.clear() #清空字典
# print(di) #{} 清空字典中的所有键值对返回空字典

get 方法是针对于键 来判断获取值
di={'name':'wang','age':18,'id':'','':100}
# print(di.get('name')) #wang

d={'name':'wang','age':18}
# print(d.fromkeys(['name','age'],100))
# print({}.fromkeys(['name','age'],100))
# a={}.fromkeys(['age',1,2,3,4,5],100)
# print(a)
# '''fromkeys设置默认值:根据你要求的键来设置默认的值'''
# # print({}.fromkeys(['name','age',1],100))
# d={'name':'wang','age':18}
# # print(d.fromkeys(['name'],100))
# a =d.fromkeys(['name'],100)
# print(a) #已经算作是新创建一个字典且字典中是你设置的默认键值对

# d={'name':'wang','age':18}
# print(type(d)) #<class 'dict'>


d={'name':'wang','age':18}
# print(d.popitem()) #('age', 18)删除末尾的键值对一般情况默认
# d.popitem()
# print(d) #{'name': 'wang'} 显示未被删除的键值对(剩余的)

# d={'name':'wang','age':18}
# t={1:2}
# d.update(t)
# print(d) #{'name': 'wang', 'age': 18, 1: 2}
#
# d1={'name':'wang','age':18}
# t2={1:2,'name':'xiaoqian'}
# d1.update(t2)
# print(d1) #{'name': 'xiaoqian', 'age': 18, 1: 2}
'''update一个字典合并到另外一个字典中
如当前字典有相同的键,则会把被更新字典的值进行修改
如没有相同的键,则增加即可'''


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册