1.列表:list ,列表里的每个元素都是以逗号相隔,列表中的元素可以是数字、字符串、列表、元组、布尔值等
li = [11,'kdjf',['fklj'],('jfklj'),True]
2.list可以通过索引和切片来对列表的值进行访问、 修改和删除:
v1=li[2]
v2 =li[1:3]
print(v1,v2)
li[2]='jflkjfd'
del li[4]
print(li)
结果:
{'k1': 123, 'k2': 123, 'k3': 123}
['fklj'] ['kdjf', ['fklj']]
[11, 'kdjf', 'jflkjfd', 'jfklj']
3.in用来判断元素(以逗号来进行区分)是否在列表中如果在返回True 否则返回false
li = [11,'kdjf',['fklj',3333],('jfklj'),True]
v1 =11 in li
v2 = 3333 in li
v3 =['fklj',3333]in li
print(v1,v2,v3)
结果是
True False True
将字符串转换成列表只需要使用list(str的变量名),而将列表转换成字符串:1.如果全部是字符串则可以使用join的方法,2.如果是既有字符串又有数字则要使用for循环的方法来进行:
li =['fkj','klfj','jfkl','fkdj']
v1 = ''.join(li)
lis = ['jfklj','jfklj',12344,'jfklj']
st =''
for i in lis :
st+= str(i)
print(v1,st)
结果是:
fkjklfjjfklfkdj j
fkljjfklj12344jfklj
1.列表的黑魔法append是在末尾添加元素(把括号里的内容直接放到列表中),clear是清空列表使列表变成一个空列表,copy是浅复制,count是数列表中具体包含几个这个元素:
lie = ['jfkljf','ddk','jfklj',112,'ddk']
lie.append('fjkljf')
lie.append(['jfklj',333])
print(lie)
v1 =lie.count('ddk')
lie.clear()
print(lie,v1)
结果是
{'k1': 123, 'k2': 123, 'k3': 123}
['jfkljf', 'ddk', 'jfklj', 112, 'ddk', 'fjkljf', ['jfklj', 333]]
[] 2
2.列表里的黑魔法:index如果在则返回索引如果不在则会报错,insert向列表中插入元素,reserve将列表进行反转,sort将列表进行排序:(排序要不全部是数字,要不全部是字符否则会报错):remove出去列表中的元素
lie = ['jfkljf','ddk','jfklj',112,'ddk']
v1 =lie.index(112)
# v2 = lie.index('fklj')
lie.insert(1,'jfkj')
print(v1,lie)
lie.reverse()
print(lie)
lie.remove(112)
lie.sort()
print(lie)
lie.sort(reverse=True)
print(lie)
结果是
{'k1': 123, 'k2': 123, 'k3': 123}
3 ['jfkljf', 'jfkj', 'ddk', 'jfklj', 112, 'ddk']
['ddk', 112, 'jfklj', 'ddk', 'jfkj', 'jfkljf']
['ddk', 'ddk', 'jfkj', 'jfklj', 'jfkljf']
['jfkljf', 'jfklj', 'jfkj', 'ddk', 'ddk']
3.列表是有序的,可以进行修改
4.元组是列表的二次加工,不能进行增加修改、删除等操作
5.创建元组试最好在最后一个元组后添加一个逗号
7.元组也可以通过索引和切片来访问元组的值
8.元组的一级元素无法修改,但有列表的可以进行修改
9.字典试有keys和values组成中间用:链接而每一个之间用逗号进行区分:
info = {'k1':'jfkj','jkj':'fkj'}
10.字典的键值是可以任意的,但是keys值不能是列表和字典本身:
11.字典是无序的:
删除字典中的某一项:del 变量名【keys】
12.循环keys和values和items:
info = {'k1':'jfkj','jkj':'fkj'}
for i in info:
print(i)
for m in info.keys():
print(m)
for n in info.values():
print(n)
for h in info.items():
print(h)
接过是
k1
jkj
k1
jkj
jfkj
fkj
('k1', 'jfkj')
('jkj', 'fkj')
13.创建字典:dict.fromkeys()在创建后keys可以是多个,但是values值·却只能是一个并且都是统一的,默认为none
dict1 = dict.fromkeys(['kdk','kfj','fkj'],'dkfj')
print(dict1)
结果是
{'kdk': 'dkfj', 'kfj': 'dkfj', 'fkj': 'dkfj'}
14.查看(获取)字典的值如果存在则返回字典里的valules如果不存在get里设置就是哪个设定值否则是默认的none:而第二种是setdefault但是更加先进的是如果不存在则会直接加到字典中组成一个新的字典
li = {'jfkj':'jfkj',123:'jfkj','jfkjd':'jfkj'} v1=li.get(123,'dkfj') v2 = li.get('jfkj','fkj') v3 = li.get('jfklj') print(v1,v2,v3) 结果是: jfkj jfkj None
v1=li.setdefault(123,'fkjk')
v2 = li.setdefault('lkfdsj','dkjf')
v3 = li.setdefault('kldfj')
print(v1,v2, v3)
结果是:jfkj dkjf None
15字典里删除元素使用pop(字典里的元素是无序的,所以删除属于随机的):pop后面必须要加上keys可以以使用,并且返回的是values但是popitems时不需要加入任何条件,而且返回值时(keys,values)
v1=li.pop(123)
print(v1,li)
v2 = li.popitem()
print(v2,li)
结果是:
jfkj {'jfkj': 'jfkj', 'jfkjd': 'jfkj'}
('jfkjd', 'jfkj') {'jfkj': 'jfkj'}
16.字典的更新update;
li = {'jfkj':'jfkj',123:'jfkj','jfkjd':'jfkj'}
li .update({'fkdj':'jfkj','jdfkj':'jfkj'})
print(li)
li.update(k1=123,k2= 'fkj')
print(li)
{'jfkj': 'jfkj', 123: 'jfkj', 'jfkjd': 'jfkj', 'fkdj': 'jfkj', 'jdfkj': 'jfkj'}
{'jfkj': 'jfkj', 123: 'jfkj', 'jfkjd': 'jfkj', 'fkdj': 'jfkj', 'jdfkj': 'jfkj', 'k1': 123, 'k2': 'fkj'}