列表元祖字典内置方法

# ls=[1,2,3] #简化定义变量的方式称为语法糖/笑笑语法
# ls=list([1,2,3]) #本质
# print(ls)


#列表的常用操作
1.索引取值:列表名[index]
# s1 = ['w','q','e']
# print(s1[1])

2.列表运算(列表元素同类型)

3.list的长度
# s3 = [3, 4, 1, 2, 5]
print(len(s3))

4.切片:[start_index:end_index:step]
# s4 = [3, 4, 1, 2, 5]
# new_s4 = s4[::-1] # 反向取值
# print(new_s4)
# new_s4 = s4[1:4:]
# print(new_s4)
# new_s4 = s4[-2:-5:-1]
# print(new_s4)

5.成员运算:in
# s5 = [3, 4, '1', 2, 5]
# print('1' in s5) 结果为True
# print(1 in s5) 结果为False
# print(5 not in s5)

6.循环(pycharm: ctrl+shift+r替换功能)
# for v in s5:
# print(v, type(v))
#
# # 只打印数字类型的数据
# for v in s5:
# if isinstance(v, int):
# print(v, end=' ')


列表的操作
1.列表的增删改查
#ls = ['w','q',3]

# print(ls[1])


# ls.append('r') # 列表末尾增加字符串
# print(ls)
# ls.insert(1,'w') # 添加至索引位置的前一个位置
# print(ls)
# ls.insert(len(ls),'w') # 用insert实现末尾增
# print(ls)


# ls[1] = 'r'
# print(ls)


# ls.remove('q')
# print(ls)

# ls.pop() # 默认从末尾开始删
# print(ls)
# ls.pop(1)
# print(ls) # 指定位置删

了解
# del ls[2] #指定位置删
# print(ls)
#
# ls.clear() #清空
# print(ls)

# 其他方法
# 排序:针对于同类型
# ls1 = [3,1,2]
# ls1.sort() #默认正向排序
# print(ls1)
# ls1.sort(reverse=True) #正向排序结果上反转,形成倒序
# print(ls1)
#
# ## 翻转
# ls1.reverse() #按存储的顺序进行翻转
# print(ls1)

## 计算值的个数:列表中可以存放重复数据
ls2 = [1,2,3,3,2,1]
#print(ls2.count(1)) #对象1存在的次数

## 整体增加:添加至末尾
# ls2.extend('123') # 增加字典时,只取key值
# print(ls2)
## 目标的索引位置,可以规定查找区间
ind = ls2.index(1,3,6) #index(self,start_with , end_with)
print(ind)

# 元祖
# 1. 用途:兴趣爱好,多个女朋友
# 2. 定义方式:()内用逗号隔开多个元素,并且元素可以是任意数据类型
fangping_boy_friend_tuple = ('ruiixng','zhuping','wenyi','changyi','qiangge','ruhua','ruhua','furong')
fangping_boy_friend_tuple2 = tuple("('ruiixng','zhuping','wenyi','changyi','qiangge','ruhua')")
fangping_boy_friend_tuple3 = tuple(('ruiixng','zhuping','wenyi','changyi','qiangge','ruhua'))
print(fangping_boy_friend_tuple3)

# 3. 常用操作和内置方法:
# 1. 优先掌握
# 索引
print(fangping_boy_friend_tuple[0])
print(fangping_boy_friend_tuple[-1])
# 切片(顾头不顾尾,步长)
print(fangping_boy_friend_tuple[0:2])
# 长度len
print(len(fangping_boy_friend_tuple))
# 成员运算in和not in
print('ruixing' in fangping_boy_friend_tuple)
# 循环
for i in fangping_boy_friend_tuple:
print(i)
# count
print(fangping_boy_friend_tuple.count('ruhua'))
# index
print(fangping_boy_friend_tuple.index('furong'))
# 4. 存一个值or多个值:多个值
# 5. 有序or无序(有索引为有序,否则为无序):有序
# 6. 可变or不可变:甚至没有可变和不可变一说

# tup = (1,2,3)
# tup = (4,5,6)
#
# a = 9
# a += 1


# 列表和元祖的区别:列表[]可以存也可以取;元祖()只可以取不可以更改,其他一模一样。有元祖只是历史遗留问题

# 字典(考试必考)
# 1. 用途:存多个值,不通过索引取值,可以用关键字找到对应的值
# 2. 定义方式:{}内以key:value的方式存储多个值,值与值之间用逗号隔开

import random

lis = ['ruixing', 'fanping', 'wenyi', 'changyi', 'zhuping', 'qiangge', 'nick']

lucky_boy_dict = {'ruixing': 0, 'fanping': 0, 'wenyi': 0, 'changyi': 0, 'zhuping': 0, 'qiangge': 0, 'nick': 999}
for i in range(1000):
lucky_boy_dict['nick'] = 0
lucky_boy_name = lis[random.randint(0, 5)] # 'ruixing'
lucky_boy_dict[lucky_boy_name] += 1

print(lucky_boy_dict)

# 3. 常用操作和内置方法:
# 1. 优先掌握
# 按key存取值:可存可取
print(lucky_boy_dict['nick'])
print(lucky_boy_dict['nick'] + 1)
print('*'*50)
# 长度len
print(len(lucky_boy_dict))
print('*'*50)
# 成员运算in和not in
print('nick' in lucky_boy_dict) # True
print(0 in lucky_boy_dict) # False
print('*'*50)
# 删除del
del lucky_boy_dict['nick']
print(lucky_boy_dict)
print('*'*50)
# 键keys()、值values()、键值对items()
print(lucky_boy_dict.keys())
print(lucky_boy_dict.values())
print(lucky_boy_dict.items())
print('*'*50)
# 循环
for i in lucky_boy_dict:
print(i)
print('*'*50)

# 了解:
# get
print(lucky_boy_dict.get('nick'))
# print(lucky_boy_dict['nick']) # 报错
# update # 更新,如果有相同的key,则会更新;如果没有相同的key,则会添加。
dic = {'a':1}
print(lucky_boy_dict.update(dic))
dic = {'a':2}
print(lucky_boy_dict.update(dic))
print(lucky_boy_dict)

print('*'*50)
print()
for k,v in lucky_boy_dict.items(): # [('ruixing', 171), ('fanping', 171), ('wenyi', 183), ('changyi', 147), ('zhuping', 176), ('qiangge', 152)]
print(f'{k}:{v}')
print('*'*50)
# fromkeys
dic = dict.fromkeys(['name','weight','height'],None)
print(dic)

dic1 = ['name','weight','height']
dic2 = dict()
for i in dic:
dic2[i] = None
print(dic2)
print('*'*50)
# setdefault # 如果key在字典里,不做任何修改;如果key不在字典里面,添加值
dic = {'a':1,'b':2,'c':1}
print(dic.get('d')) # None
print(dic.get('d',1)) # None
print(dic.setdefault('a',3))
print(dic)
print(dic.setdefault('d',2))
print(dic)
# 4. 存一个值or多个值:多个值
# 5. 有序or无序(有索引为有序,否则为无序):无序
# 6. 可变or不可变:可变

dic = {'a':1,'b':2}
print(id(dic))
dic.update({'c':1})
print(id(dic))

猜你喜欢

转载自www.cnblogs.com/zrx19960128/p/10842352.html