初学python随笔——列表,元组,字典,集合

列表是有序的,可以随时添加和删除其中的元素

元组是有序的,不过一旦初始化就不能修改

字典目前是无序的,为什么说是目前,因为3.6版本的字典进行过更新,目前还没有看到明确说是有序的,跟列表一样也可以添加和删除其中元素

集合是无序不重复的元素集合,主要作用是做数学意义上的交集并集等操作。

 列表

# 定义一个列表
classmates = ['Kitty', 'Bob' ,12]

# 访问列表
>>>classmates[0]
Kitty

>>>classmates[1:3]
['Bob', 12]

>>>for i in classmates:
           print(i,end=' ')
kitty Bob 12

# 增加列表元素
>>>classmates.append('我是新加入的')
>>>classmates
['Kitty', 'Bob' ,12,'我是新加入的']

# 插入元素
>>>classmates.insert(1, '插队生')
>>>classmates
['Kitty', '插队生', 'Bob' ,12,'我是新加入的']

# 修改元素
>>>classmates[1] = '代替插队生'
>>>classmates
['Kitty', '代替插队生', 'Bob' ,12,'我是新加入的']

# 删除元素
>>>del classmates[1]
>>>classmates
['Kitty',  'Bob' ,12,'我是新加入的']

>>>classmates.remove(12)
>>>classmates
['Kitty',  'Bob' , '我是新加入的']

>>>classmates.pop()    #删除最后一个元素
>>>classmates
['Kitty',  'Bob']

# 添加多个元素
>>>names = [1,2,3]
>>>classmates.extend(names)
>>>classmates
['Kitty',  'Bob', 1, 2, 3]

# 拷贝
>>>classmates_copy = classmates.copy()
>>>classmates_copy
['Kitty',  'Bob', 1, 2, 3]

# 统计
>>>classmates.count('Kitty')
1

# 排序&反转
>>>classmates.sort()    # 排序
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()

# 由于有str和int所以不能排序
>>>classmates = ['kitty','Bob','Jack']
>>>classmates.sort()
>>>classmates
['Bob','Jack','kitty']

>>>classmates.reverse()    #反转
>>>classmates
['kitty','Jack','Bob']

# 获取下标
>>>classmates.index('Jack')
1

元组

# 创建元组
tup1 = ('java','php')

# 当元组只有一个元素时
tup2 = ('python',)

# 访问元组
>>>tup1[0]
java

# 元组合并
>>>tup3 = tup1+tup2
>>>tup3
('java','php','python')

# 删除元组,只能整个删除
>>>del tup3

# 取元组中最大最小值
tup3 = ('1','2','3')
>>>max(tup3)
3
>>>min(tup3)
1

# 列表转元组
list1 = ['java','c','c++']
tup4 = tuple(list1)
>>>tup4
('java','c','c++')

# 元组统计
t = ('google','Runoob','Taobao','Runoob')
>>>t.count('Runoob')
2

# 元组index(),返回找到的第一个元素索引,没有则报错
>>>t.index('Runoob')
1

字典

# 创建字典
info = {
        'Demo':'好人',
        'Jack':'坏人',
        'Pick':'人妖'
}

# 增加
>>>info['Kitty'] = '猫'
>>>info
{'Demo': '好人', 'Jack': '坏人', 'Pick': '人妖', 'Kitty': '猫'}

# 修改
>>>info['Pick'] = '超人'
>>>info
{'Demo': '好人', 'Jack': '坏人', 'Pick': '超人', 'Kitty': '猫'}

# 删除
>>>info.pop('Pick')
>>>info
{'Demo': '好人', 'Jack': '坏人', 'Kitty': '猫'}

>>>del info['Kitty']
>>>info
{'Demo': '好人', 'Jack': '坏人'}

>>>info.popitem()        # 随机删除,但一般删除末尾
>>>info
{'Demo': '好人'}    

# 查找
>>>'Demo' in info
True
>>>info.get('Demo')
好人

#values
>>> info.values()
dict_values(['LongZe Luola', 'XiaoZe Maliya'])

#keys
>>> info.keys()
dict_keys(['stu1102', 'stu1103'])

#setdefault
>>> info.setdefault("stu1106","Alex")
'Alex'
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
>>> info.setdefault("stu1102","龙泽萝拉")
'LongZe Luola'
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}

#update 
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
>>> b = {1:2,3:4, "stu1102":"龙泽萝拉"}
>>> info.update(b)
>>> info
{'stu1102': '龙泽萝拉', 1: 2, 3: 4, 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}

#items
info.items()
dict_items([('stu1102', '龙泽萝拉'), (1, 2), (3, 4), ('stu1103', 'XiaoZe Maliya'), ('stu1106', 'Alex')])

# 循环字典
#方法1
for key in info:
    print(key,info[key])

#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)

集合

# 集合作用
#去重,把一个列表变成集合,就自动去重了;
#关系测试,测试两组数据之前的交集、差集、并集等关系


s = set([3,5,9,10])      #创建一个数值集合  
  
t = set("Hello")         #创建一个唯一字符的集合  

a = t | s          # t 和 s的并集  
  
b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) 基本操作: t.add('x') # 添加一项 s.update([10,37,42]) # 在s中添加多项 使用remove()可以删除一项: t.remove('H') len(s) set 的长度 x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制

  

  

猜你喜欢

转载自www.cnblogs.com/CrazyDemo/p/9419408.html