Self-taught python---high-level grammar of collections

Advanced usage
1
Comprehensions Comprehensions (also known as analytical): It is a very powerful and popular feature in Python, with the advantages of concise language and fast speed. The comprehensions include:
1. List comprehensions
2. Dictionary comprehensions
3. Set comprehensions

1.1 List comprehension

   语法:
[表达式 for 变量 in 列表]
   代表从列表中取出每个元素,然后在按照表达式运算,然后放在新的列表中
 
[表达式 for 变量 in 列表 if 条件]
   代表从列表中取出满足条件的元素,然后在按照表达式运算,然后放在新的列表中
 f
例1: 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
print([name.upper() for name in names if len(name)>3])

1.2 Dictionary comprehension

	  语法  { key: value for 变量 in 数据集 if 条件}
	列如:
	data ={n : randint(10,100) for n in range(10)}
	print(data)

Filter value greater than 90

data2  = { k:v for k,v in data.items() if v>=90}
print(data2)

1.3 Set comprehension

	语法 { 表达式 for value in 数据集 if 条件 }
	列如:
	  用集合推导建字符串长度的集合
	strings = ['a','is','with','if','file','exception']  
	{len(s) for s in strings}    #有长度相同的会只留一个,这在实际上也非常有用
	 
	2 提高访问元组的可读性
	 student=('张三','22','北京市,海定区')

=Original visit====

#name
print(student[0])
#age
print(student[1])
#address
print(student[2])
#=================1  改变之后的访问======================
NAME,AGE,ADDRESS=range(3)
print(student[NAME])
print(student[AGE])
print(student[ADDRESS])

=========Namedtuple's way===========

from collections import namedtuple
Student = namedtuple('Student',['name','age','address'])
s = Student('张三','22','北京市,海定区')
print(isinstance(s,tuple))
print(s.name)
print(s.age)

3 List, tuple, dictionary sort

import random
data =[random.randint(0,10) for n in range(10)]
print(data)
#================列表排序==========================
print(sorted(data))	
#===================字典排序=================================
data ={n : random.randint(50,100)  for n in 'abcdefghijk'}
print(data)

Use zip to convert dictionary into tuple data

data = sorted(zip(data.values(),data.keys()))

list -> dict

data2 = dict (data)
print( (data2))

The difference between lists, tuples, sets, and dictionaries

Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_47580822/article/details/113726141