python basis - collection type built-in method

Collection type built-in method (set)

Collection can be understood as a collection of learning Python is a collection of students; students can learn Linux is a collection.

pythoners = ['nash', 'langyigang', 'fujiancheng', 'jinyi']
linuxers = ['nash', 'yankeming', 'zhaoyanrun']

# 即报名pythoners又报名linux的学生
py_li_list = []
for stu in pythoners:
    if stu in linuxers:
        py_li_list.append(stu)
print(f"pythoners and linuxers: {py_li_list}")

The above list of ways aggregate sum of two relational operators are very complex, so we have a set of data types.

1. Purpose:

Relationship for assembly operations, since the elements in the set unordered collection of elements and can not be repeated, and therefore can be set to the weight, but the weight set to disrupt the order of the original elements.


2. Definitions:

{} The plurality of elements spaced apart by a comma, each element must be immutable.

s = {1, 2, 1, 'a'}  # s = set({1,2,'a'})

print(f"s: {s}")

s: {1, 2, 'a'}

s = {1, 2, 1, 'a', 'c'}

for i in s:
    print(i)

1 2 c a

s = set('hello')

print(f"s: {s}")

s: {'e', 'o', 'h', 'l'}


3. Method built + common operations:

A collection of related methods

 1. The length len

 2. Members in operation and not in

 3. | union, union

 4. & intersection, intersection

 5.-差集、difference

 6. ^ symmetric difference, symmetric_difference

 7.==

 8. superset:>,> =, issuperset

 9. subsets: <, <=, issubset

 10.add

 11.remove

 12.difference_update

 13.discard

 14.isdisjoint

1. The length len

# set之长度len
s = {1, 2, 'a'}

print(f"len(s): {len(s)}")

len(s): 3
2. Members in operation and not in

# set之成员运算in和not in
s = {1, 2, 'a'}

print(f"1 in s: {1 in s}")

1 in s: True
3. | union

# str之|并集
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}

print(f"pythoners|linuxers: {pythoners|linuxers}")
print(f"pythoners.union(linuxers): {pythoners.union(linuxers)}")

\# union:联合的意思 pythoners|linuxers: {'nash', 'langyigang', 'jinyi', 'yankeming', 'fujiancheng', 'zhaoyanrun'} pythoners.union(linuxers): {'nash', 'langyigang', 'jinyi', 'yankeming', 'fujiancheng', 'zhaoyanrun'}
4. & intersection

# str之&交集
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}

print(f"pythoners&linuxers: {pythoners&linuxers}")
print(f"pythoners.intersection(linuxers): {pythoners.intersection(linuxers)}")

\# intersection:交集 pythoners&linuxers: {'nash'} pythoners.intersection(linuxers): {'nash'}
5.- difference set

# str之-差集
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}

print(f"pythoners-linuxers: {pythoners-linuxers}")
print(f"pythoners.difference(linuxers): {pythoners.difference(linuxers)}")

\# difference:反向差集 pythoners-linuxers: {'langyigang', 'fujiancheng', 'jinyi'} pythoners.difference(linuxers): {'langyigang', 'fujiancheng', 'jinyi'}

6. The symmetric difference ^

# str之^对称差集
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}

print(f"pythoners^linuxers: {pythoners^linuxers}")
print(
    f"pythoners.symmetric_difference(linuxers): {pythoners.symmetric_difference(linuxers)}")

\# symmetric_difference:对称差集 pythoners^linuxers: {'fujiancheng', 'yankeming', 'jinyi', 'zhaoyanrun', 'langyigang'} pythoners.symmetric_difference(linuxers): {'fujiancheng', 'yankeming', 'jinyi', 'zhaoyanrun', 'langyigang'}
7.==

# str之==
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}
javers = {'nash', 'yankeming', 'zhaoyanrun'}

print(f"pythoners==linuxers: {pythoners==linuxers}")
print(f"javers==linuxers: {javers==linuxers}")

pythoners==linuxers: False javers==linuxers: True
8. superset:>,> =

# str之父集:>、>=
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}
javaers = {'nash', 'zhanyanrun'}

print(f"pythoners>linuxers: {pythoners>linuxers}")
print(f"pythoners>=linuxers: {pythoners>=linuxers}")
print(f"pythoners>=javaers: {pythoners>=javaers}")
print(f"pythoners.issuperset(javaers): {pythoners.issuperset(javaers)}")

\# issuperset:子集 pythoners>linuxers: False pythoners>=linuxers: False pythoners>=javaers: False pythoners.issuperset(javaers): False
9. subsets: <, <=

# str之子集:<、<=
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}
javaers = {'nash', 'zhanyanrun'}

print(f"pythoners<linuxers: {pythoners<linuxers}")
print(f"pythoners<=linuxers: {pythoners<=linuxers}")
print(f"javaers.issubset(javaers): {javaers.issubset(javaers)}")

\# issuperset:子集 pythoners<linuxers: False pythoners<=linuxers: False javaers.issubset(javaers): True
10.add

# set之add()
s = {1, 2, 'a'}
s.add(3)

print(s)

{1, 2, 3, 'a'}

11.remove

# set之remove()
s = {1, 2, 'a'}
s.remove(1)

print(s)

{2, 'a'}

12.difference_update

# str之difference_update()
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyanrun', 'yankeming'}
pythoners.difference_update(linuxers)

print(f"pythoners.difference_update(linuxers): {pythoners}")

pythoners.difference_update(linuxers): {'fujiancheng', 'langyigang', 'jinyi'}

13.discard

# set之discard()
s = {1, 2, 'a'}
# s.remove(3)  # 报错
s.discard(3)

print(s)

{1, 2, 'a'}

14.isdisjoint

# set之isdisjoint(),集合没有共同的部分返回True,否则返回False
pythoners = {'nash', 'langyigang', 'fujiancheng', 'jinyi'}
linuxers = {'nash', 'zhaoyantun', 'yankeming'}
pythoners.isdisjoint(linuxers)

print(f"pythoners.isdisjoint(linuxers): {pythoners.isdisjoint(linuxers)}")

pythoners.isdisjoint(linuxers): False


4. The stored value or a plurality of values:

A plurality of values, and is immutable.


5. ordered or disordered:

Disorderly

s = {1, 2, 'a'}
print(f'first:{id(s)}')
s.add(3)
print(f'second:{id(s)}')

first:4480523848 second:4480523848


6. The variable or invariable:

Variable data types

Guess you like

Origin www.cnblogs.com/suren-apan/p/11374822.html