Python小白学习进行时---字典(2018、06、20)

一、元组

元组和列表非常类似,但元组一旦定以后不能修改,不能进行项list一样append()和insert()增加元素个数,也不能进行del、remove()和pop()删取元素的操作,但元组可以执行如下:

1、声明元组
  tuple=(1,2,3,4,“a”)
  print(tuple)

  (1, 2, 3, 4, 5, 'a')
2、查找元组元素:
1.取单个某一位置的元素: toupe[下标]
2.切片操作: touple[上标:下标]
  tuple1=(1,2,3,4,5,'a')
  print(tuple1[1:4])
3.元组长度的确定
tuple1=(1,2,3,4,5,'a')
print(len(tuple1))
3、元组的操作:+、*
list1=(1,2,3)
list2=(“a”,“b”)
print(list1+list,list1*2)

(1, 2, 3, 'a', 'b') (1, 2, 3, 1, 2, 3)

习题;输入 1--7数字对应输出星期几;例如如果输入1,这对应输出星期日。
 number1=int(input("请输入一个数字:"))
 week_touple1=("星期一","星期二","星期三","星期四","星期五","星期六","星期七")
 print(week_touple1[number1-1])

二、字典

字典是一个容器类型的数据类型,以键值对成对出现来存储数据。
键值对: 键:值 以冒号隔开。其中值可以是任何数据类型;键:理论上只能是不可变的数据类型。
字典的特点: 可变性、无序性(不能使用下标来遍历字典)

1、定义/声明一个字典(dict)

格式:dict={key:value} 多个键值对之间用逗号隔开。其中key唯一

2、查字典中的值

a、通过key查找获取value: 字典名[key] ----获取单个value
注意:使用key获取value时,字典中的key必须存在。否则报错

b、通过方法get()获取值: 字典名.get(key)
可以通过get()方法判断字典中是否存在key值。

 name_xiaoming={'name':'xiaoming','age':18,  'score':20,'face':10}
 print(name_xiaoming.get('a'))

 None
3、遍历字典中的元素

用for循环遍历字典获取字典中的键(key),通过键(key)获取值(value)

  name_xiaoming={'name':'xiaoming',
                 'age':18,
                 'score':20,
                 'face':10}
  for key in name_xiaoming:
      print(key, name_xiaoming[key])

  name xiaoming
  age 18
  score 20
  face 10
4、修改字典

将新值赋给dict(key)

 dict1={'a':1,'b':2,'c':3}
 dict1['a']=10
 print(dict1)

 {'a': 10, 'b': 2, 'c': 3}
5、添加、修改键值对

添加键值对,通过key取值赋值。如果key不存在,添加key。否者修改value值。

     dict1={'a':1,'b':2,'c':3}
     dict1['d']=4
     print(dict1)
6、删除键值对

a、格式:del 字典[key]。通过key删除字典中的键值对。

dict1={'a':10,'b':10.3,'c':False,'d':[1,2]}
del dict1["d"]
print(dict1)

{'a': 10, 'b': 10.3, 'c': False}

b、pop()方法:
格式:字典.pop(key)

dict1={'a':10,'b':10.3,'c':False,'d':[1,2]}
result=dict1.pop("a")
print(dict1,result)

习题:将字典中值为字符串的全部删除

dict1={'a':10,'str':'string','b':10.3,'c':False,'d':[1,2]}
for key in dict1.copy():
    value=dict1[key]
    if isinstance(value,str):
        dict1.pop(key)
print(dict1)

{'a': 10, 'b': 10.3, 'c': False, 'd': [1, 2]}
1、字典中还有keys和values方法

keys方法使用:字典.keys() 将字典中的所有键(key)获取形成一组列表。

  dict1={'a':1,'b':2,'c':3}
  print(dict1.keys())

  dict_keys(['a', 'b', 'c'])

values方法使用:字典.values() 将字典中所有值(value)获取形成一组列表。

  dict1={'a':1,'b':2,'c':3}
  print(dict1.values())

  dict_values([1, 2, 3])
2、update()

字典1.update)(字典二) 如果字典中的键值对在字典1中没有,就直接添加,如果有就是修改value。

  dict1={'a':1,'b':2,'c':3}
  dict2={"d":1}
  dict1.update(dict2)
  print(dict1)

 {'a': 1, 'b': 2, 'c': 3, 'd': 1}
3、in 和 not in

判断字典中是否有指定的key

  dict1={'a':1,'b':2,'c':3}
  print("a" in dict1)
  print("a" not in dict1)

 True

三、集合

集合是一种容器,并且是无序的,元素的值具有唯一性,不能重复。
数据的存储方式:通过大括号存储元素,多个元素之间用逗号隔开。

1、集合的声明
seti={元素1,元素2,。。。}
例如: set1={1,2,3,4,1,10}
2、集合类型的转化

a、将字符串转换成集合

set2=set('abcdef')
print(set2)

{'d', 'e', 'a', 'c', 'b', 'f'}

b、将列表转成集合

set1=set(["q",2,3,4,5,6])
print(set1)

{2, 3, 4, 5, 6, 'q'}

c、将字典转换成集合,是将字典中的key取出来作为集合的元素

set1=set({"a":1,"b":2})
print(set1)

{'b', 'a'}
3、遍历集合
str1='abdaadhjkjjhks'
set1=set(str1)
str1=''
for item in set1:
     str1+=item
print(str1)

dkbasjh
4、获取集合中的元素

集合不能单独的获取某一个元素,只能通过遍历的方式获取每一个元素。

set=set('12346789anc')
for item in set:
    print(item,end=" ")

1 6 c 4 a 2 3 7 9 n 8 
5、添加集合中的元素

a、通过update()方法添加元素: 集合1.update(集合2)

set1=set('123456')
set2=set('aa')
set1.update(set2)
print(set1)

b、add
集合.add(元素):将制定的元素添加到集合中

set1=set('123456')
set1.add('aaa')
print(set1)

{'1', '5', '2', '3', '6', 'aaa', '4'}
6、删除元素

集合中只能使用remove()删除集合中的元素:
格式: 集合.remove(指定元素)

set1=set('123456')
set1.remove("1")
print(set1)

{'4', '5', '6', '2', '3'}

在Python中集合除了作为容器相关的操作外,还可以做一下操作:

1、判断包含关系:>=、<=

集合1>=集合2:判断集合1中是否包含集合2,返回结果为bool值。

set1=set("abcdef")
set2=set("abc")
print(set1>=set2)

True

集合1<=集合2: 判断集合2中是否包含集合1。

set1=set("abcdef")
set2=set("abc")
print(set1<=set2)
False
2、集合操作 |、&、-、^

a、| 求并集

set1=set('123456')
set2=set('45678')
print(set1|set2)

{'7', '2', '4', '5', '1', '3', '8', '6'}

b、& 求交集

set1=set('123456')
set2=set('45678')
print(set1&set2)

{'4', '6', '5'}

c、- 求差集, 在set1中不在set2中的元素

set1=set('123456')
set2=set('45678')
print(set1-set2)

{'3', '2', '1'}

d、^ 获取set1和set2中除了公共部分以外的元素

set1=set('123456')
set2=set('45678')
print(set1^set2)

{'3', '7', '8', '2', '1'}

3、copy()函数
将set1中所有的元素取出来创建新的集合

set1=set('123456')
print(set1.copy())

{'3', '5', '2', '6', '4', '1'}

你可能感兴趣的:(Python小白学习进行时---字典(2018、06、20))