Python基础---列表+元组+字典

字符串+列表+元组

字符串

1.字符串的定义—单引号、双引号、三引号
三引号—辅助功能—注释语句
2.字符串使用场景
1.字符串对象
2.路径
3.url
3.字符串拼接

print('name is  '+'tom')

4.序列
1.字符串获取元素—下标获取

print('长度:---------> ',len(str1))
print(str1[len(str1)-1])

2.字符串不能使用下标去修改
5.切片操作
#获取中间一段 —2刀
第1刀:你需要获取字符串的第一个元素的下标
第2刀:第一刀下标+你需要获取字符串长度

str1 = 'abcdef'
# #获取前半段:写后取前
print(str1[:3])
#获取后半段:写前取后
print(str1[-2:])

汇总
1- 切片使用下标操作
2- 切片不影响原数据类型
3- 获取的数据类型与原数据一致
4- 左含右不含
5- 获取字符串元素操作—非常常见
方案:
1- 切片—有一边元素是固定格式
2- ‘xxx’.split()----需要有规律
3- 强大–正则表达式—re模块

列表+元组

1.列表—可以存储任意类型的数据

alist = [10,'hello',3.14,[100,200]]

a.取值—一个值:下标;多个值:切片

print(len(alist))
print(alist[0])
print(alist[-1][0])
print(100 in alist)#False

b.修改值

alist[-1][0] = ''
print(alist)

c.增加元素

alist=[10,20,30,40]
alist.append(50)
alist.insert(9,[100,200])

#insert插入的位置的下标 >len 相当于—append

d.删除
1.del

del alist[1],alist[2]#[10, 30]
del alist[1:1+2]#[10, 40]
del alist[::2]#[20, 40]

2- pop 有返回值—返回被删的对象

res = alist.pop(2)
print(res)
alist = [10,20,30,40,20]

#3- remove----根据值来删除—判断值—三种里面效率最低 #
#值一定存在–否则报错-list.remove(x): x not in list #
#多个值–只能删第一个出现的 # alist.remove(20)
e.合并列表
1- 临时合并–另存新地址–新对象

print(alist+[40,50]) #id()--地址发生变化

2.同一个地址—扩展列表

alist.extend([40,50])
# print(alist,'------id: ',id(alist))

汇总:
1- 列表是—可变对象
2- 任意类型–存储

2.元组:只读–不可改变:元素个数、元素的值
使用场景:
1- 列表:存储数据–可以修改的、排序
2- 元组:一些项目的系统配置数据—不能修改
systemConfigData = (‘xxx = false’,)

字典

特性:
1- 键值对形式
2- 无序的
3- 键是唯一的
定义:
键:一定是:不可以改变的类型
可以是:字符串、int、float、元组
不可以是:TypeError: unhashable type: ‘list’
列表 、字典
值:
1- 可以任意类型
2- 值可以修改

#2- 字典的操作
dict1 = {'name':'tom','age':20,'data':{'id':'001','date':'20200601'}}
#1- 查询
print(dict1['data']['id'])
#2- 修改值---键要存在
dict1 = {'name':'tom','age':20}
dict1['name'] = 'jack'#
print(dict1)
#3- 增加元素---键不存在
dict1 = {'name':'tom','age':20}
dict1['weight'] = 180#
print(dict1)
#4- 删除元素--一起删除键值对---没有remove
del dict1['name']
dict1.pop('age')
#5- 元素的个数
print(len(dict1))
# #6- 更新-多个键值对一起更新
dict1.update({'xxx':'jack','data':[10,20]})
print(dict1)
#7- in---判断键在不在字典
dict1 = {'name':'tom','age':20}
if 'name' in dict1:
print('在里面')
#8- 获取所有的键---类列表:1、不支持下标  2、可以for遍历
print(list(dict1.keys()))#强制转换成list---新地址对象
for one in dict1.keys():
print(one)
#9- 获取所有的值--类列表:1、不支持下标  2、可以for遍历
print(dict1.values())
#10- 获取所有的键值对--类列表:1、不支持下标  2、可以for遍历
print(dict1.items())
for one in dict1.items():
print(one)
for a,b in dict1.items():[(x,20),(y,30)]
print(a,b)
for one in dict1:#键遍历
print(one)
#扩展--字典使用
vipData = '''{
    "aac003": "tom",
    "tel": "13574556577",
    "crm003": "1",
    "crm004": "1"
    }'''
'''

json和字典的转换

#1- json-转换-字典
import json
print('转换前----> ',type(vipData),vipData)
temp = json.loads(vipData)#转换类型的--字典
temp['aac003'] = 'jack'
print('转换后----> ',type(temp),temp)
#2- 字典-转换-json
print(json.dumps(temp),type(json.dumps(temp)))
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值